1

好的。我的 .htaccess 文件中有这个正则表达式来重写/任何字母数字到 index.php?id=alphanumeric 字符串。

 RewriteEngine on

 RewriteRule ^([A-Z-a-z0-9]+)$ index.php?id=$1

我遇到的问题是,当一些其他变量被添加到该字符串时,一切都停止工作。

例如:

www.someaddress.com/ABCDEFGH 工作正常。

www.someaddress.com/ABCDEFGH&othervariable=123 失败。

我知道我的字母数字字符串总是 8 个字符。有没有办法让正则表达式只匹配 8 并保留字符串的其余部分?

提前致谢。

4

2 回答 2

2

试试这个:

 RewriteRule ^([A-Za-z0-9]{8}) index.php?id=$1

请注意和之间的字符-不是必需的Za

于 2013-03-29T18:36:26.517 回答
2

像这样的东西应该可以解决问题。你想删除 $ 让它忽略其余的变量。

RewriteRule ^([A-Z-a-z0-9]{8}) index.php?id=$1

于 2013-03-29T18:37:16.113 回答