0

我正在重写所有 URL 并简写其中一些:

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/重定向?

我认为它必须带有斜杠。

4

2 回答 2

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 缓存问题。

于 2014-01-04T13:52:51.657 回答
1

尝试这个:

RewriteEngine On
RewriteRule ^(.*)/$ http://%{HTTP_HOST}/$1 
RewriteRule ^test$ test-page.php [R=301,L]

在这里测试。

于 2014-01-04T13:11:55.290 回答