我网站上的几个目录中有静态文件。我试图创建一个规则来指示重写引擎忽略所有这些静态文件。
像这样的东西:
#RewriteCond %{REQUEST_URI} !\.*(jpg|css|js|gif|png|swf)$ [NC]
这似乎只在某些情况下有效,但并非全部。
作为一种解决方案,我决定将任何请求文件的整个请求 URI 与以下扩展名之一进行匹配,并为它们创建一个“空”重写规则,基本上将用户重定向到精确的请求 URL。
为了实现这一点,我做了以下事情:
RewriteCond $1 \*.(js|ico|gif|jpg|png|css|swf|mp3|wav|txt)$ [NC]
RewriteRule ^(.*) \$1 [R=301,L]
由于某种原因,这不起作用,在 access.log 和 error.log 中也没有有用的信息。提前感谢您的任何帮助!
完整代码:
#Catch static content and don't modify it
RewriteCond $1 \*.(js|ico|gif|jpg|png|css|swf|mp3|wav|txt)$ [NC]
RewriteRule ^(.*) \$1 [R=301,L]
#prevent looping
RewriteCond %{QUERY_STRING} !clientId=
#redirect sub domain to the client page cutl.mysite.com = mysite.com/in/index/php?clientId=curl
RewriteRule ^(.*)$ /in/index.php?uclinetId=$1 [L]