我管理一个具有多个同名域名的旧网站, 谷歌已经使用语言结构索引了一些旧网址
http://www.example.com/eng/whatever
和
http://www.example.it/eng/whatever
现在我不再使用这个结构,但我想重定向到我的新结构
http://www.example.it/en/whatever
所以 / eng / 之后的所有内容都必须附加到新结构中,排除 / eng / 子字符串。 但它不起作用,我有一个重定向
http://www.example.it/en/eng/whatever
哪个错了!我不想在重定向网址
中使用 / eng在我的.htaccess中我有这个
#this will redirect the url with /eng/whatever to www.example.it/en/whatever, regardless from the top level domain
RewriteRule ^eng\/(.*)$ http://www.example.it/en/$1 [R=301,L]
#redirect example.com on www.example.it/en/
RewriteCond %{HTTP_HOST} ^([^.:]+\.)*example\.(com|pt)?(:[0-9]*)?$ [NC]
RewriteRule ^(.*)$ http://www.example.it/en/$1 [R=301,L]
答案 0 :(得分:1)
尝试用以下方法替换所有内容:
RewriteRule ^eng/(.*) en/$1 [R,L,NE,DPI]
如果有效,您可以将R
更改为R=301
警告强>
要对此进行测试,您必须使用新的浏览器。这是因为浏览器缓存301重定向,因此您的当前浏览器将继续重定向到旧的(错误的页面),甚至无需与您的服务器通信并点击新的.htaccess
- 除非您清除浏览器缓存。