【问题标题】:Need modrewrite of wildcard subdomain需要 modrewrite 的通配符子域
【发布时间】:2012-05-21 03:18:21
【问题描述】:

我正在尝试将“/login”添加到通配符子域。

例如:

*.example.com 将被重定向到 *.example.com/login

但是,我希望某些子域不被重定向,例如...

help.example.com、m.example.com 等

最好的方法是什么,是在 .htaccess 还是在 httpd.conf 中完成?

感谢您的帮助。

更新如下:

这是我目前拥有的:

<IfModule mod_rewrite.c>
    RewriteEngine on

    RewriteCond %{HTTP_HOST}  !^m.example.com$
    RewriteCond %{HTTP_HOST}  ^(.+).example.com$ [NC]
    RewriteRule ^/$ https://%1/login [L,R=301]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

【问题讨论】:

  • 查看 RewriteCondRedirectCond 的文档
  • 它可以在 .htaccess 或 httpd.conf 中完成,使用 RewriteCond 或 RedirectCond。

标签: .htaccess mod-rewrite httpd.conf


【解决方案1】:

你快到了

<IfModule mod_rewrite.c>
    RewriteEngine on

    RewriteCond %{HTTP_HOST}  !^m\.example\.com$
    RewriteCond %{HTTP_HOST}  !^help\.example\.com$
    RewriteCond %{HTTP_HOST}  ^(.+\.example\.com)$ [NC]
    RewriteRule ^/?$ https://%1/login [L,R=301]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

【讨论】:

    猜你喜欢
    • 2021-12-20
    • 2016-02-07
    • 2020-08-23
    • 2010-09-09
    • 2012-08-20
    • 2011-07-28
    • 2011-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多