我遇到了一些问题。我经常搜索,尝试过各种变化,但仍然无法正常工作。
我的目标很简单:
重定向: http://site.com/folder1/folder2/ 页
要: http://site.com/folder1/folder2/ 网页
请注意,我正在使用“友情网址”。
现在这里是我尝试的方法,以及我遇到的问题。
1)重定向301
Redirect 301 /folder1/folder2/page http://site.com/folder1/folder2/Page
这个Redirect有效,问题是,我从“页面”获取的变量出现在URL的末尾,这对SEO不利:
http://site.com/folder1/folder2/Page?get=page
2) RewriteRule
mod_rewrite的RewriteRule应该可以解决出现Get Variables的问题(从我读过的内容)。
问题是,我没有让它适用于我的Fancy URL结构。
RewriteRule ^/folder1/folder2/page$ http://site.com/folder1/folder2/Page [R=301,L]
它根本不起作用。重定向没有执行,所以这里肯定是错的。我尝试了很多代码。
你不能直接在友好网址上使用RewriteRule吗?
(友好的网址意味着我删除了.php扩展名)
期待一些帮助! 谢谢!
更新1:
请注意,区分大小写不是问题所在。
即使我的例子是: Page1 =>第2页
而不是: page =>页
问题仍然存在。
更新2:
这是我到目前为止最接近的解决方案(但还没有):
Redirect 301 /folder1/folder2/page http://site.com/folder1/folder2/Page?
我添加了一个“?”最后。
这会给我一个登陆网址: http://site.com/folder1/folder2/Page?
它删除了Get Variables,但仍然没有像我想的那样SEO友好。
答案 0 :(得分:0)
在第二种情况下,如果要在htaccess文件中添加重写规则,则不应匹配前导斜杠。
尝试:
RewriteRule ^folder1/folder2/page$ http://site.com/folder1/folder2/Page [R=301,L]
为什么你问?好问题!
答案 1 :(得分:0)
我不能说我在这里的问题上完全清楚:你是否试图让大小写规则匹配或丢失任何查询字符串?既?
如果它是大写字母,我相信该规则有效(删除了纠正的拼写错误Rajesh和hakre呼出)。它是否希望剥离查询字符串尝试添加尾随?你的统治的后半部分。看起来像是:
RewriteRule ^folder1/folder2/page$ http://site.com/folder1/folder2/Page? [R=301,L]