需要modrewrite的通配符子域

时间:2012-05-13 06:28:40

标签: .htaccess mod-rewrite httpd.conf

我正在尝试向通配符子域添加“/ 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>

1 个答案:

答案 0 :(得分:0)

你几乎就在那里

<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>