我正在重写所有网址并简写其中一些:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(([^\.]+))\.pl [NC]
RewriteRule ^(.*)$ http://%1.pl%{REQUEST_URI} [R=301,L]
RewriteRule ^test$ test-page.php [R=301,L]
这样
example.pl/test
重定向到example.pl/test-page.php
但
example.pl/test/
重定向到example.pl/
虽然它应该:
example.pl/test/
重定向到example.pl/test-page.php
如何处理/url
和/url/
重定向?
我认为它必须带有斜线斜杠。
答案 0 :(得分:1)
试试这个:
RewriteEngine On
RewriteRule ^(.*)/$ http://%{HTTP_HOST}/$1
RewriteRule ^test$ test-page.php [R=301,L]
经过测试here。
答案 1 :(得分:1)
您需要使用/?$
正则表达式使尾随斜杠可选。试试这些规则:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.([^.]+)\.pl [NC]
RewriteRule ^ http://%1.pl%{REQUEST_URI} [R=301,L]
RewriteRule ^test/?$ test-page.php [NC,R=301,L]
请务必在新浏览器中对此进行测试,以避免301缓存问题。