我想从所有类型.html的网址中删除Trailing Slash 我使用以下代码
RewriteRule (.+?)\.html.+$ http://%{HTTP_HOST}/t4/$1.html [L,R=301]
此代码非常接近我们的需要。当我们尝试重定向
这样的网址时,我们会遇到此代码的问题/a.html/b.php?c=1
此网址已重定向至
/a.html?c=1
我不知道为什么会这样。我希望这个网址是/a.html 看起来像URL参数被保留。你可以帮忙解决重定向时删除的URL参数。
答案 0 :(得分:0)
尝试在规则的目标末尾添加?
:
RewriteRule (.+?)\.html.+$ http://%{HTTP_HOST}/t4/$1.html? [L,R=301]
答案 1 :(得分:0)
在DOCUMENT_ROOT/.htaccess
文件中尝试此规则:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} \s(.+?\.html).+?[?\s]
RewriteRule ^ %1 [R=302,L]