【问题标题】:How to write multiple rewrite conditions and rules in one .htaccess file for redirecting urls?如何在一个 .htaccess 文件中编写多个重写条件和规则以重定向 url?
【发布时间】:2013-07-06 08:40:11
【问题描述】:

我有一个名为subsite.site.com 的子站点(只是示例)。首先我想将subsite.site.com重定向到www.subsite.site.com最后我想将www.subsite.site.com重定向到www.subsite.site.com/directory/subdirectory/index.html

以下重写条件和规则独立用于此目的。

RewriteEngine on   
RewriteCond %{HTTP_HOST} ^subsite.site\.com
RewriteRule ^(.*)$ http://www.subsite.site.com/$1 [R=301,L]

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.subsite\.site\.com$
RewriteRule ^/?$ "http\:\/\/www\.subsite\.site\.com\/directory\/subdirectory\/" [R=301,L

如何将以上两个条件和规则合并到一个.htaccess 文件中?

谢谢,

【问题讨论】:

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


    【解决方案1】:

    我应该如何将上述两个条件和规则组合到一个 .htaccess 文件中?

    一个接一个地放在同一个文件中:

    RewriteEngine on
    
    RewriteCond %{HTTP_HOST} ^www\.subsite\.site\.com$ [NC]
    RewriteRule ^/?$ /directory/subdirectory/ [R=301,L]
    
    RewriteCond %{HTTP_HOST} ^subsite.site\.com [NC]
    RewriteRule ^(.*)$ http://www.subsite.site.com/$1 [R=301,L]
    

    【讨论】:

    • 你知道如何通过一次重定向到浏览器来做到这一点吗?因此 Apache 可以处理所有规则并将 Location 标头发送到最终结果,但即使其中一个规则不匹配也可以工作。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2016-08-13
    • 2017-07-26
    • 1970-01-01
    • 2016-07-07
    • 1970-01-01
    • 1970-01-01
    • 2013-04-24
    相关资源
    最近更新 更多