的.htaccess重定向到新的域名
我想我的重定向现有的域到新的(BOT的网站结构是相同的),我试图在.htaccess以下的.htaccess重定向到新的域名
RewriteEngine on
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=301,L]
我的问题是,如果我尝试
olddomain.com/login.php
它重定向到
newdomain.com/public_html/login.php
这是不工作..任何人都可以帮助解决它。
(注:如果我只尝试域名重定向到完美的新域)
与服务提供商讨论后,按照他们的指令,我用下面的代码,它完美的作品(按他们的信息,虚拟专用服务器是特殊情况)
感谢所有谁采取的努力来解决我的问题
RewriteEngine on
RewriteOptions inherit
RewriteCond %{HTTP_HOST} ^olddomain\.tld$ [OR]
RewriteCond %{HTTP_HOST} ^www\.olddomain\.tld$
RewriteRule ^(.*)$ "http\:\/\/www\.newdomain\.tld\/$1" [R=301,L]
然后你就可以使用这个RewriteRule
指令:
RewriteRule ^public_html/(.*)$ http://www.newdomain.com/$1 [R=301,L]
它只会反向引用的正则表达式(.*)
排除“ public_html /“。
很高兴看到解决您的问题的完整指令。无论如何,你可以改进和替代这些三线优化它们:
RewriteCond %{HTTP_HOST} ^olddomain\.tld$ [OR]
RewriteCond %{HTTP_HOST} ^www\.olddomain\.tld$
RewriteRule ^(.*)$ "http\:\/\/www\.newdomain\.tld\/$1" [R=301,L]
有了这两条线:
RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.tld$
RewriteRule ^(.*)$ http://www.newdomain.tld/$1 [R=301,L]
这是他们写的,在我的视线的最佳方式..
它会导致发布数据的问题 –
@ChiragNandaniya如何? – 5ervant
只需将您的新域指向站点根文件夹,而不是您的服务器根文件夹。
这是否影响'login.php'?或者'olddomain.com/'重定向到'newdomain.com/public_html/ '?尝试重定向到_any_其他域,你仍然在目标网址中获得'public_html'? (注意:使用302重定向进行测试,因为它们没有被缓存 - 301重定向被浏览器缓存,所以你必须确保你一直清除缓存!) –
MrWhite