这可行,但总是需要最后一个参数 - 我需要'page'作为分页目的是可选的。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)$ /catalogue.php?category=$1&page=$2 [L]
我在之前的一篇帖子中尝试了this,但它给了我一个404错误
答案 0 :(得分:1)
您可以使用:
# skip all files and directories from rewrite rules below
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^([^/]+)/?$ /catalogue.php?category=$1 [L]
RewriteRule ^([^/]+)/([^/]+)/?$ /catalogue.php?category=$1&page=$2 [L]
如果您的空白页面没问题,并且在这两种情况下使用相同的页面catalogue.php
,您可以使用:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?([^/]*)$ /catalogue.php?category=$1&page=$2 [L]