由于 URI 略有不同,您应该可以在以下位置使用它.htaccess
:
RewriteRule ^blog/([0-9]+) index.php?action=blog&postID=$1 [L]
RewriteRule ^blog([0-9]+)/ index.php?action=blog&category=$1 [L]
我们不需要[NC]
标志,因为我们只匹配一个数字。[L]
如果匹配,该标志告诉 Apache 停止处理。由于您没有对标题做任何事情,因此无需一直搜索到行尾。一旦我们找到postID或类别,我们应该有我们所有的信息。
要同时匹配两者,您可以在单个规则中尝试此操作。
RewriteRule ^blog([0-9]+)/([0-9]+) index.php?action=blog&category=$1&postID=$2 [L]
RewriteRule ^blog/([0-9]+) index.php?action=blog&postID=$1 [L]
RewriteRule ^blog([0-9]+)/ index.php?action=blog&category=$1 [L]
如果您正在设置,Virtual Hosts
那么您必须添加前面的斜杠:
RewriteRule ^/blog/([0-9]+) /index.php?action=blog&postID=$1 [L]
RewriteRule ^/blog([0-9]+)/ /index.php?action=blog&category=$1 [L]