基于域的.htaccess中的条件重写

时间:2016-06-13 05:52:39

标签: apache .htaccess mod-rewrite url-rewriting

我试图使用以前有关类似问题的建议,但没有成功。可能是我目前使用的.htaccess文件太复杂了,这是我麻烦的原因。

Domain1是root,Domain1的子目录。在我的根文件夹中,我有以下.htaccess文件,它可以正常工作:

RewriteCond %{HTTP_HOST} ^(www.)?domain1.me.uk$

RewriteCond %{REQUEST_URI} !^/domain1/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ /domain1/$1

RewriteCond %{HTTP_HOST} ^(www.)?domain1.me.uk$
RewriteRule ^(/)?$ domain1/index.html [L]
RewriteCond %{HTTP_HOST} ^domain1.me.uk$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain1.me.uk$
RewriteRule ^/?$ "http\:\/\/domain1\.me\.uk" [R=301,L]

Domain2位于root的另一个子文件夹中,如果domain1.me.uk是URL,我希望.htaccess有条件地重写为Domain1,如果domain2.me.uk是URL,我希望有关域重写为。

任何帮助都非常感激。

1 个答案:

答案 0 :(得分:0)

domain1.me.uk 位于网址中时,要重写 / domain1 文件夹,您可以使用:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?domain1.me.uk$
 RewriteCond %{REQUEST_URI} !^/domain1/
 RewriteRule ^(.*)$ /domain1/$1 [NC,L]