.htaccess文件([^\/]+;)不工作,但([1-9]+;[0-9]*)工作吗?
我的项目url是/catalog/id/ 例如:.htaccess文件([^\/]+;)不工作,但([1-9]+;[0-9]*)工作吗?,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我的项目url是/catalog/id/ 例如:domain.com/life/women/268/ 我试了很多次。为什么htaccess不能重写“women”,而只重写数字“/268/” 不行 RewriteRule ^life/([^\/]+)/?$ life/list.php?cat=$1 [L,NC] RewriteRule ^life/([^\/]+)/([^\/]+)/?$ life/info.php?cat=$1&id=$2 [L,NC] 不是工作结果 Array ( [
domain.com/life/women/268/
我试了很多次。为什么htaccess
不能重写“women”,而只重写数字“/268/”
不行
RewriteRule ^life/([^\/]+)/?$ life/list.php?cat=$1 [L,NC]
RewriteRule ^life/([^\/]+)/([^\/]+)/?$ life/info.php?cat=$1&id=$2 [L,NC]
不是工作结果
Array ( [cat] => list.php )
如果全部使用数字,则工作
RewriteRule ^life/([1-9]+[0-9]*)/?$ life/list.php?cat=$1 [L,NC]
RewriteRule ^life/([1-9]+[0-9]*)/([1-9]+[0-9]*)/?$ life/info.php?cat=$1&id=$2 [L,NC]
您的第一个
RewriteRule
重写life/list.php
和life/info.php
。您应该排除它们:
RewriteRule ^life/(?!(?:list|info)\.php\/?$)([^\/]+)/?$ life/list.php?cat=$1 [L,NC]
RewriteRule ^life/([^\/]+)/([^\/]+)/?$ life/info.php?cat=$1&id=$2 [L,NC]
这是工作!非常感谢!但是,如果我有很多php文件,我需要全部输入
(?:list | info)
?@bb\u inger不客气!您可以使用*
而不是(?:list | info)
来匹配任何PHP文件。