我有一个域名并在godaddy.com上托管。我有firstsite.com,它位于托管帐户的根目录中。我有一个.htaccess文件,该网站工作正常,并将所有firstsite.com
流量简单重定向到www.firstsite.com
。它是
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.firstsite\.com$
RewriteRule (.*) http://www.firstsite.com/$1 [R=301,L]
但是,我已将新域名添加到我的托管帐户,该帐户包含在网站的子文件夹中:/secondsite
如果没有.htaccess文件,当我转到secondsite.com
时,它会显示为secondsite.com
。但是,使用.htaccess文件时,它显示为www.firstsite.com/secondsite
。
我想让www /非www规范.htaccess为第一个网站工作,但仍然可以正确显示第二个网站,同时使用www / non www canonical已解决。
我已经到处搜索了这个特定问题,但还没有找到如何编写.htaccess文件的代码。有人能给我一个如何做到这一点的快速例子吗?
答案 0 :(得分:1)
在您的情况下(指向同一文件夹的多个域),您需要在指定域名时更具体。而不是否定使用匹配:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^firstsite\.com$
RewriteRule ^(.*)$ http://www.firstsite.com/$1 [R=301,L]
以上内容会将请求重定向至http://firstsite.com/bla-bla
至http://www.firstsite.com/bla-bla
,但不会触及secondsite.com
,也不会触及http://anything.firstsite.com/bla-bla
。