我一直在使用下一个:
RewriteRule ^(.*)/$ page.php?name=category&type=$1 [L]
重写我的链接。我只使用了一个文件名“page.php”,它起作用了。 今天,我想添加另一个文件“project.php”,并需要另一个RewriteRule,这是我试图在.htaccess中使用的完整代码:
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L]
RewriteRule ^(.*)/$ page.php?name=category&type=$1 [L]
RewriteRule ^(.*)/(.*)/(.*)/(.*)/$ project.php?category=$1&id=$4&type=$2&name=$3 [L]
但是,它只适用于第一条路径,并且会混淆第二条路径。拜托,任何人都可以帮忙解决这个问题吗?我试图寻找它一段时间,但找不到解决方案。非常感谢提前!
答案 0 :(得分:1)
正如Jonathan Kuhn所说(.*)
读取所有字符所以首先放置project.php rule
并在该规则中使用至少([^/]+)
代替(.*)
。 ([^/]+)
读取除/
以外的一个或多个字符。