所以我有以下网址重写规则;
RewriteCond %{THE_REQUEST} ^([A-Z]{3,9})\ (.*)/index.php[^\ ]*\ HTTP
RewriteRule ^index\.php$ %2/ [R=301,L]
RewriteRule ^f([0-9]+)-[^_]+?\.html$ viewforum.php?f=$1
RewriteRule ^f([0-9]+)-[^_]+?_([0-9]+)\.html$ viewforum.php?f=$1&start=$2
RewriteRule ^t([0-9]+)-[^_]+?\.html$ viewtopic.php?t=$1
RewriteRule ^egosearch.html$ search.php?search_id=egosearch
他们将查询字符串更改为尾随.html
的字符串。有人可以帮助我切换这些,所以他们只显示一个尾随斜线?
当前的URL看起来像这样:
/f2-general-auto-assistance.html
/t1-welcome-to-phpbb3.html
/faq.html
此外,我想了解有关使用重写规则的更多信息。所以如果你愿意分享一个参考网址以便学习更多知识,那么我将来可以做到这一点 - 这将是非常好的。
答案 0 :(得分:0)
通过将最后.html
部分设为可选并允许使用尾部斜杠来制定这样的规则:
RewriteCond %{THE_REQUEST} ^([A-Z]{3,9})\ (.*)/index.php[^\ ]*\ HTTP
RewriteRule ^index\.php$ %2/ [R=301,L]
RewriteRule ^f([0-9]+)-[^_]+?(/|\.html)$ viewforum.php?f=$1 [L,QSA]
RewriteRule ^f([0-9]+)-[^_]+?_([0-9]+)(/|\.html)$ viewforum.php?f=$1&start=$2 [L,QSA]
RewriteRule ^t([0-9]+)-[^_]+?(/|\.html)$ viewtopic.php?t=$1 [L,QSA]
RewriteRule ^egosearch(/|\.html)$ search.php?search_id=egosearch [L,QSA]