mod_rewrite:不要重写任何子域名

时间:2012-06-21 16:19:27

标签: mod-rewrite singlepage

有没有办法在mod_rewrite中免除对子域的任何请求?现在,我有一个单页应用程序,它将所有内容重定向到index.html。

<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !index
  RewriteRule (.*) index.html [L]
</IfModule>

但我想确保对subdomain.mydomain.com的调用永久免于被重写。

1 个答案:

答案 0 :(得分:0)

您可以在子域和-替换上使用条件来停止重写。来自http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewriterule

  

有一个名为&#39;的特殊替换字符串 - &#39;这意味着:没有   代换!这在提供仅重写规则时很有用   匹配网址但不替换任何内容。

尝试

RewriteEngine On

RewriteCond %{HTTP_HOST} ^subdomain\.mydomain\.com$ [NC]
RewriteRule .* - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !index
RewriteRule (.*) index.html [L]