重命名域导致空页

时间:2016-10-26 14:12:22

标签: php .htaccess file url url-rewriting

我正在尝试通过htaccess fom http://old.com/page重命名我的域名到http://new.com/page,在第一页http://new.com/工作正常,但是当我想转到其他页面时,我有2个问题:

  1. 网址没有改变,他们总是有一些文字,如: http://new.com/
  2. 重写页面直到我才开始工作 像这样添加.php:http://new.com/page.php
  3. 这是我的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]
    

    我真的不知道这个:((

2 个答案:

答案 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]