<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
以上是thinkphp 默认的规则设置,我修改成如下:
.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
#news这是我自定义的,我想让这些规则优先判断
RewriteRule ^news/?$ /v2/newsclass.php [NC,L]
RewriteRule ^news/([0-9]+).html$ /v2/news.php?id=$1 [NC,L]
RewriteRule ^news/([0-9]+)_(.*).html$ /v2/news.php?id=$1&page=$2 [NC,L]
#最后没有符合的话再执行最下面的
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
我的网站中还有一些自定义的其它伪表态规则,我的想法是,优先判断是不是符合自定义的规则,是的话按自定义规则执行,没有匹配的话就按thinkphp的路由走。
上面的这样合并在一起写没有用。
有没有大神帮忙
最佳答案