我有一个网站有两个域指向它,我们称它们为:
work.mysite.com
play.mysite.com
这是不好的做法,所以我想选择 work.mysite.com
并将其设为规范 URL,永久将 play.mysite.com
重定向到它。
我在这两个域的根目录中,在一个 .htaccess 文件中,用头撞水泥地板,希望我不在这里。这是我目前正在尝试的。请告诉我我错得有多离谱?
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?play\.mysite\.com [NC]
RewriteRule ^/?(.*)?$ http://work.mysite.com/$1 [R=301]
</IfModule>
这让我得到了一个非常漂亮的 500 内部服务器错误。我离我有多远?
最佳答案
RewriteCond %{HTTP_HOST} !work.example.com [NC]
RewriteRule ^(.*)$ http://work.example.com/$1 [R=301,L,QSA]
这还将从 www.work.example.com 中删除 www
不确定是否需要 QSA,但我认为它会阻止 play.example.com/?home 重定向到 work.example.com/而不是 work.example.com/?home
关于.htaccess - 当一个子域都指向完全相同的文件时,如何将它们重定向到另一个子域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7971926/