我想重定向一个最后一次删除后有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
时重定向。
答案 0 :(得分:1)
您需要转义+
,因为它是一个特殊的正则表达式符号。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9a-zA-Z]{4,5})\+?/?$ someFile.php?id=$1 [L,QSA]