【问题标题】:Rewrite rules per site in one htaccess file在一个 htaccess 文件中重写每个站点的规则
【发布时间】:2010-12-16 01:51:23
【问题描述】:

有没有办法在 htaccess 文件中编写仅适用于特定站点的规则?因此,如果我有 2 个站点指向同一个目录,我只想为第一个站点而不是第二个站点编写规则。我试过这个:

RewriteCond %{HTTP_HOST} ^www\.sitea\.com
RewriteRule ^site-url http://www.sitea.com/site-url.php [R=301,L]

问题是 siteb.com 也遵循上述规则。难道我做错了什么?还是不能这样做?我只能访问 htaccess 文件。

【问题讨论】:

    标签: url .htaccess mod-rewrite rewrite


    【解决方案1】:

    您可以为要忽略的站点使用不同的文件名:请参阅http://www.electrictoolbox.com/change-htacces-filename-apache/

    但这需要能够编辑 VirtualHost 配置,而您没有哪些访问权限?

    但是,如果您仅将其用于重写,则重写条件应该足够具体,以免影响其他站点。

    【讨论】:

    • 我以为 RewriteCond 只会在当前域符合条件的情况下运行规则,否则它会跳过该条件下的所有规则?
    • 我试图做的是对不同的站点使用相同的重定向但不同的结果。因此,我希望特定页面的 sitea.com 转到 pag1.html,然后我希望具有相同 url 的 siteb.com 转到 page2.html
    • 是的,您的重写规则应该能够以这样的方式编写,这是可能的。您可以访问服务器上的原始 Apache 日志吗?如果是这样,这可能有助于调试。
    猜你喜欢
    • 2013-12-10
    • 1970-01-01
    • 2013-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-14
    • 2017-07-26
    • 2016-08-13
    相关资源
    最近更新 更多