【问题标题】:RewriteEngine: subdomain to index.php, how?RewriteEngine:子域到 index.php,如何?
【发布时间】:2010-07-05 13:57:01
【问题描述】:

几天后,我询问有关将动态目录重定向到 index.php 的问题,我得到了完美运行的代码(这是我在 .htaccess 中的唯一代码):

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule (.*) index.php

这会将 http://mydomain.example/dynamicdir/ 等网址转换为 http://mydomain.example/index.php

现在我想将像 http://dynamicdir.mydomain.example 这样的子域翻译成 http://mydomain.example/index.php?dir=dynamicdir

从我在 Internet 中找到的示例中,我尝试添加这一行:

RewriteRule ^(.*)\.mydomain\.example index.php?dir=$1

但它不起作用。我没有足够的 mod-rewrite 经验来判断丢失或错误的内容。你能帮我找到一种方法来保持动态目录翻译,并添加 catch-all 子域规则吗?

问候!

【问题讨论】:

    标签: mod-rewrite subdomain


    【解决方案1】:

    mod_rewrite 规则使用相对于虚拟主机的请求路径。尝试为每个虚拟主机设置不同的重写规则,但将它们的文档放在同一目录中。

    【讨论】:

      【解决方案2】:

      使用RewriteRule,您只能测试URL path。对于主机名,您需要在RewriteCond 中使用%{HTTP_HOST}

      RewriteCond %{HTTP_HOST} ^(.+)\.example\.example$
      RewriteRule ^ index.php?dir=%1
      

      【讨论】:

        猜你喜欢
        • 2012-07-11
        • 2013-04-22
        • 1970-01-01
        • 1970-01-01
        • 2011-09-10
        • 2018-10-03
        • 1970-01-01
        • 2017-08-23
        • 2015-03-14
        相关资源
        最近更新 更多