我有两个域:
maindomain.com
www.addondomain.com
中的.htaccess
文件maindomain.com
具有此重定向
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(([a-z0-9_]+\.)?maindomain\.com)$ [NC]
RewriteRule .? http://%1%{REQUEST_URI} [R=301,L]
它将 www 重定向到非 www 版本。
另一个.htaccess
文件中addondomain.com
有这些重定向
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^addondomain.com$
RewriteRule ^(.*)$ "http\:\/\/www\.addondomain\.com\/$1" [R=301,L]
RewriteCond %{HTTP_HOST} ^addondomain\.maindomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.addondomain\.maindomain\.com$
RewriteRule ^(.*)$ "http\:\/\/www\.addondomain\.com\/$1" [R=301,L]
RewriteCond %{HTTP_HOST} ^maindomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.maindomain\.com$
RewriteRule ^(.*)$ "http\:\/\/www\.addondomain\.com\/$1" [R=301,L]
所有页面都重定向得很好,但是当我将另一个.htaccess
文件放在子目录中时,重定向不起作用。所以,我把这些规则写在image
子目录中。
RewriteCond %{HTTP_HOST} ^addondomain.com$
RewriteRule ^(.*)$ "http\:\/\/www\.addondomain\.com\/$1" [R=301,L]
RewriteCond %{HTTP_HOST} ^addondomain\.maindomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.addondomain\.maindomain\.com$
RewriteRule ^(.*)$ "http\:\/\/www\.addondomain\.com\/$1" [R=301,L]
RewriteCond %{HTTP_HOST} ^maindomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.maindomain\.com$
RewriteRule ^(.*)$ "http\:\/\/www\.addondomain\.com\/$1" [R=301,L]
现在,当我尝试访问addondomain.maindomain.com/image/1.png
它时,它会重定向到addondomain.maindomain.com/1.png
404 错误。不知何故,image
目录丢失了。我需要.htaccess
子目录中的另一个文件。
UPDATE#1: addondomain
也是的子域maindomain
,目录结构是:
/public_html
.htaccess
home.php (page of main domain)
/addondomain.com (directory)
home.php (page of addondomain)
.htaccess
/image (directory)
.htaccess
1.png
更新#2:
如果我.htaccess
这样设置,这可行:
RewriteCond %{HTTP_HOST} ^(www\.)?maindomain\.com$ [NC]
RewriteRule ^(.*)$ http://www.addondomain.com/image/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^addondomain.com$
RewriteRule ^(.*)$ http://www.addondomain.com/image/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^addondomain\.maindomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.addondomain\.maindomain\.com$
RewriteRule ^(.*)$ http://www.addondomain.com/image/$1 [R=301,L]
有什么方法可以使用一些代码(我有点新)代替图像
RewriteRule ^(.*)$ http://www.addondomain.com/.*$/$1 [R=301,L]