【问题标题】:Conditional rewrite in .htaccess based on domain.htaccess 中基于域的条件重写
【发布时间】:2016-06-13 05:52:39
【问题描述】:

我曾尝试使用与类似问题相关的先前建议,但没有成功。可能是我现在使用的.htaccess文件太复杂了,这就是我麻烦的根源。

Domain1 位于根目录 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,我希望重写到 Domain2。

非常感谢任何帮助。

【问题讨论】:

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


    【解决方案1】:

    domain1.me.uk 在 url 中时,要重写到 /domain1 文件夹,您可以使用:

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

    【讨论】:

    • 这很棒而且简单多了!当我在它下面进行另一个重写时,两者都有效。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2017-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-23
    • 1970-01-01
    • 2019-06-12
    • 2011-04-03
    相关资源
    最近更新 更多