0

有没有办法免除对 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 的调用永久免于重写。

4

1 回答 1

0

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

有一个名为“-”的特殊替换字符串,这意味着:没有替换!这对于提供仅匹配 URL 但不替换任何内容的重写规则很有用。

尝试

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]
于 2012-06-22T09:41:43.983 回答