Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess文件([^\/]+;)不工作,但([1-9]+;[0-9]*)工作吗?_.htaccess_Mod Rewrite - Fatal编程技术网

.htaccess文件([^\/]+;)不工作,但([1-9]+;[0-9]*)工作吗?

.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 ( [

我的项目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 ( [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文件。