【问题标题】:Rewrite subdomain重写子域
【发布时间】:2011-04-23 06:50:28
【问题描述】:

显然是一个非常简单的问题:我该如何重写

(value1).example.com/(value2)

/(value1)/(value2)

我已经尝试了几件事但没有成功。

提前谢谢你。

【问题讨论】:

    标签: apache url mod-rewrite subdomain


    【解决方案1】:

    试试这个规则:

    RewriteCond %{HTTP_HOST} ^([^/.]+)\.example\.com$
    RewriteCond $1/%1 !^([^/]+)/\1$
    RewriteRule ^/([^/]+)? /%1%{REQUEST_URI} [L]
    

    一些解释:我之前的建议导致了无限递归,因为L flag 导致使用新 URL 重新启动重写过程:

    但是请记住,如果 RewriteRule 生成内部重定向(在每个目录上下文中重写时经常发生),这将重新注入请求并导致从第一个 RewriteRule 开始重复处理.

    第二个条件将避免这种情况,因为它将子域部分与第一个路径段进行比较。只有当它们不同时,条件才成立并进行重写。

    【讨论】:

    • 嗨,秋葵,在我的 htaccess 上写下之后,我没有任何更改。你能告诉我为什么吗?我只是更改域,谢谢。
    • @AnggieAziz 我能告诉你为什么吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-15
    • 2011-01-30
    • 2019-09-01
    • 2011-02-04
    • 2014-03-17
    • 2012-09-17
    相关资源
    最近更新 更多