mod_rewrite规则定义

时间:2013-04-09 12:32:14

标签: php regex mod-rewrite

我的.htaccess / mod_rewrite有问题:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^sometest/(.+)/page/([0-9]+)$ index.php?main=sometest/$1&page=$2
RewriteRule ^(.+)$ index.php?main=$1 [QSA]

这不起作用。如果我访问我的网站,则不包括css文件。 我把它们包括在“/assets/css/blabla.css”中。

如果我只删除一个RewriteRule(无关紧要),它的工作原理。但我需要这两条规则。

1 个答案:

答案 0 :(得分:0)

您必须使用跳过标记skip|S=num

喜欢:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d  [NC,OR]
RewriteCond %{REQUEST_FILENAME} !-f  [NC]
RewriteCond %{REQUEST_URI} ^(.*)/([^/]+)\.([^/]+)$ 
RewriteRule ^ - [S=2,L]
RewriteRule ^sometest/(.+)/page/([0-9]+)$ index.php?main=sometest/$1&page=$2 [S=1,L]
RewriteRule ^(.+)$ index.php?main=$1 [QSA,L]

有关详细信息http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule

,请参阅此页面