.htaccess重定向以符号结尾的网址

时间:2014-06-19 11:19:21

标签: .htaccess redirect url-redirection

我想重定向一个最后一次删除后有4-5个字符的网址,并在其末尾有一个+。 (注意: +符号的长度不算)

我能够使它适用于4-5个字符的条件:

RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ /(index\.php)?\?id=([0-9a-zA-Z]{4,5}+)([^\ ]*)
RewriteRule ^ /%3?%4 [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9a-zA-Z]{4,5}+)/?$ someFile.php?id=$1 [L,QSA]

虽然我尝试了条件+但我没有工作,但我无法使其适用于([0-9a-zA-Z\+]{4,5}+)符号。我认为条件{{1}如果最后没有([0-9a-zA-Z\+]{4,5}+)符号,它仍然可以工作..

示例:

自:

+

要:

http://example.com/1234+

注意:仅在最后有http://example.com/someFile.php?id=1234 时重定向。

1 个答案:

答案 0 :(得分:1)

您需要转义+,因为它是一个特殊的正则表达式符号。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9a-zA-Z]{4,5})\+?/?$ someFile.php?id=$1 [L,QSA]