这是我的问题:

我想重定向所有的请求

http://mypage.com/archives/17080
TO
http://mypage.com/p?-17080

要么
http://mypage.com/archives/85436
TO
http://mypage.com/p?-85436

我在我的.htaccess中使用此规则:
RewriteRule ^archives/([-A-z0-9]+)/?$ p?-$1

但这似乎不起作用...
另外,当我从重定向到网址中删除问号时:
RewriteRule ^archives/([-A-z0-9]+)/?$ p-$1

一切正常。所以我猜是吗? 导致此问题。
任何帮助将不胜感激!
提前致谢

最佳答案

您的正则表达式有误。尝试以下规则:

RewriteRule ^archives/([A-Z0-9]+)/?$ /p?-$1 [L,QSA,NC,NE]

您的正则表达式中包含此字符范围[A-z],其中包括[A-Za-z]范围之外的许多其他字符。

07-24 16:56