我的 .htaccess 中有以下规则
RewriteRule ^([\da-z]+)/([\da-z]+)/(\d+)/?$ index.php?office=$1&page=$2&news_id=$3 [L,QSA,NC]
RewriteRule ^([\da-z]+)/([\da-z]+)/?$ index.php?office=$1&page=$2 [L,QSA,NC]
当我有一个像 www.test.com/media/continuous-training 这样的 url 时,它不会将连续训练发送到变量。如果我不使用破折号或下划线,一切都很好。
我认为问题出在规则中的正则表达式中,但不确定如何解决。
谢谢!
最佳答案
您需要将-
和_
添加到您的字符类中。使用这个:
RewriteRule ^([\da-z_-]+)/([\da-z_-]+) ...
关于php - 变量中无法识别下划线和破折号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21984371/