我想将旧网站的主页重定向到我的新网站的主页,同时我希望每个子网页都重定向到新网站的页面搜索。 简言之:
www.oldsite.it - >的 http://newsite.it
和
www.oldsite.it/whatever - >的 http://newsite.it/search?q=whatever
我希望条件既严格又生活。 我实现了让他们分开工作。 这是我的代码:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} oldsite\.it/$
RewriteRule ^(.*)$ http://newsite.it/search?q=$1 [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
我怎样才能让它们发挥作用? 感谢
答案 0 :(得分:0)
此处需要2个条件规则才能将旧主页和旧网址重定向到新位置,请尝试:
RewriteEngine On
RewriteBase /
#1)redirect "oldsite.it" to "newsite.it#
RewriteCond %{HTTP_HOST} ^(www\.)?oldsite\.it$
RewriteRule ^$ http://newsite.it [NC,L,R]
#2)redirect "oldsite.it/foobar" to "newsite.it/search?q=foobar#
RewriteCond %{HTTP_HOST} ^(www\.)?oldsite\.it$
RewriteRule ^(.+)$ http://newsite.it/search?q=$1 [QSA,NC,R,L]
在测试这些规则之前清除浏览器的缓存。
要使重定向成为永久性,请在确定规则有效时将R更改为R = 301。