在友好净值上使用重写 - 获取重定向301的变量



我遇到了一些问题。我搜索了很多,尝试了变体,但仍然无法正常工作。

我的目标就是这样:

重定向:http://site.com/folder1/folder2/ page

to:http://site.com/folder1/folder2/ page

请注意我正在使用"友好URL"。

现在这是我尝试的方法,而我遇到的问题。

1)重定向301

Redirect 301 /folder1/folder2/page http://site.com/folder1/folder2/Page

此重定向作品,问题是,"页面"中的我的获取变量出现在URL的末尾,这对SEO不利:

http://site.com/folder1/folder2/page?get=page

2)重写

mod_rewrite的重写应该解决出现的get变量的问题(根据我阅读的内容)。

问题是,我没有为我的精美URL结构工作。

RewriteRule ^/folder1/folder2/page$ http://site.com/folder1/folder2/Page [R=301,L]

它根本不起作用。重定向未进行,因此这里一定有问题。我尝试了该代码的许多变体。

您不能直接在友好URL上使用重写吗?

(友好的URL表示我从.php扩展程序中脱下)

期待帮助!谢谢!


更新1:

请注意,案例敏感性不是这里的问题。

即使我的示例是: page1 =>第2页

而不是: page => page

问题仍然存在。


更新2:

这是我到目前为止得到的最接近的解决方案(但仍然没有):

Redirect 301 /folder1/folder2/page http://site.com/folder1/folder2/Page?

我添加了一个"?"最后。

这将为我提供登陆网址:http://site.com/folder1/folder2/page?

它删除了变量,但仍然不像我想要的那样友好。

在第二种情况下,如果要在htaccess文件中添加重写规则,则不应将领先的斜杠与。

尝试:

RewriteRule ^folder1/folder2/page$ http://site.com/folder1/folder2/Page [R=301,L]

为什么要问?好问题!

我不能说我对这里的问题完全清楚:您是否试图获得匹配的大写规则或失去任何查询字符串?两者?

如果是大写的,我相信该规则有效(带有校正的错字Rajesh和Hakre Call Out)。是剥夺查询字符串的愿望,尝试添加尾声吗?到您规则的后半部分。看起来像:

RewriteRule ^folder1/folder2/page$ http://site.com/folder1/folder2/Page? [R=301,L]

相关内容

  • 没有找到相关文章

最新更新