我想添加一个www。到我的领域。如果有人去"mydomain.com",它需要被发送到"www.mydomain.com"。这一切都很好。问题是,如果有人输入'mydomain.com/subfolder/subfolder3',它会重定向到'www.mydomain.com/mydomain/subfolder/subfolder3'而不是'www.mydomain.com/subfolder/subfolder3'
我的。htaccess位于www文件夹旁边的htdocs文件夹。
. htaccess:
php_flag display_errors Off
php_value upload_max_filesize 25M
php_value post_max_size 25M
RewriteEngine On
RewriteCond %{HTTP_HOST} ^mydomain.com$ [NC]
RewriteRule ^(.*)$ http://www.mydomain.com/ [R=301,L]
RewriteCond %{HTTP_HOST} ^myseconddomain.com$ [NC]
RewriteRule ^(.*)$ http://www.mydomain.com/ [R=301,L]
AuthUserFile /home/bla/bla/bla/domains/mydomain/htdocs/beta/.htpasswd
AuthGroupFile /dev/null
AuthName "WebDav only for authorized users"
AuthType Basic
<LimitExcept GET POST HEAD>
require valid-user
</LimitExcept>
可以看到有2个域。如果有人输入第二个域名,它也需要重定向到第一个域名。
你看到的'AuthUserFile'已经不存在了。我可以安全地删除它下面的所有内容吗?
您可以在一个重写规则中这样做:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(mydomain|(www.)?myseconddomain).com$ [NC]
RewriteRule ^ http://www.mydomain.com%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^((?!www.)[^.]+).myseconddomain.com$ [NC]
RewriteRule ^ http://%1.mydomain.com%{REQUEST_URI} [R=301,L]