我想添加一个www。到我的域名。如果有人去了mydomain.com'它需要发送到www.mydomain.com'。一切正常。问题是如果有人输入&m ;; 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个域名。如果有人在第二个域中键入,则还需要重定向到第一个域。
&#39; AuthUserFile&#39;你可以看到不再存在。我可以安全地删除它下面的所有内容吗?
答案 0 :(得分:0)
您可以在单个重写规则中执行此操作:
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]