如何使第一行第三个传递的“get”变量不是强制性的? 换句话说,页面仅在给出 3 个 'get' 变量时才有效,但在我的情况下,我需要第三个 (e) 是可选的。有什么想法吗?
RewriteRule ^ft/([0-9]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ forum.php?ft=$1&seo=$2&e=$3 [NC,QSA,L]
RewriteRule ^(fc|ft)/([0-9]+)/?$ forum.php?$1=$2 [NC,QSA,L]
RewriteRule ^forums/?$ forum.php [NC,L]
答案 0 :(得分:1)
在这种情况下,要同时处理 2 个和 3 个变量,请尝试在您的 htaccess 规则文件中再添加 1 个规则,按以下方式设置您的 htaccess 规则文件。
请确保在测试您的 URL 之前清除浏览器缓存。
RewriteEngine ON
##Newly added rewrite Rule to handle 2 parameters in uri.
RewriteRule ^ft/([0-9]+)/([A-Za-z0-9-]+)/?$ forum.php?ft=$1&seo=$2 [NC,QSA,L]
##Rest of the rules go from here onwards....
RewriteRule ^ft/([0-9]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ forum.php?ft=$1&seo=$2&e=$3 [NC,QSA,L]
RewriteRule ^(fc|ft)/([0-9]+)/?$ forum.php?$1=$2 [NC,QSA,L]
RewriteRule ^forums/?$ forum.php [NC,L]