1
我总是使用下一个:重写规则的多个文件名
RewriteRule ^(.*)/$ page.php?name=category&type=$1 [L]
重写我的链接。我只使用了一个文件名“page.php”,它工作。 今天,我要添加另一个文件“project.php”,并需要另一个重写规则吧,这就是我想在.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]
但是,这只是工作第一条路,第二条。请,任何人都可以帮忙弄清楚吗?我试图搜索它一段时间,但找不到解决方案。提前谢谢了!
我们可以得到一个网址的例子吗? page.php和project.php都是。 –
谢谢你的回复,乔纳森。我现在不能提供实时链接,但是当我尝试从第二个链接获取“类别”时: project.php?category = $ 1&id = $ 4&type = $ 2&name = $ 3(链接转换后) 它将它们全部放在一起,包括“id”,“type”等等,以斜线表示;例如一/二/三 – dnns
是的,我明白了。我不需要实际的实时链接,我只是想知道链接大概是什么样子。我已经可以告诉你的问题是'(。*)'表示“零个或多个任何字符”。这将包括'/'。所以所有的URL都会匹配'。*'使第一条规则总是成立。之后重写停止。你应该更好地识别哪些类型的字符(仅限数字,仅限字母,两者......等)应该在每个组中(括号之间)并匹配。 –