我正在尝试通过htaccess fom http://old.com/page重命名我的域名到http://new.com/page,在第一页http://new.com/工作正常,但是当我想转到其他页面时,我有2个问题:
这是我的htaccess代码:
Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^old\.com [NC]
RewriteRule ^/(.*) http://new.com/$1 [R=301,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)$ http://new.com/$1 [R=301,NC]
RewriteRule ^page$ page.php [QSA,NC]
我真的不知道这个:((
答案 0 :(得分:0)
我可能错了,但我认为您不需要在/
行中添加RewriteRule ^/(.*) http://new.com/$1 [R=301,NC]
。
试试这个让我知道(我没有测试过):
Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^old\.com [NC]
RewriteRule ^(.*) http://new.com/$1 [R=301,NC]
# -----------^-------- the change is here
这应该将old.com
中的任何页面重定向到new.com
上的同一页面。
答案 1 :(得分:0)
您可以使用:
Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
#redirect "olddomain.com/" to "newdomain.com/"
RewriteCond %{HTTP_HOST} ^old\.com [NC]
RewriteRule ^$ http://new.com/ [R=301,L]
#rewrite "olddomain.com/page" to "olddomain.com/.php"
RewriteRule ^page$ page.php [L,NC]