我在.htaccess中有以下代码
RewriteEngine On
#RewriteRule ^index$ index.php [L]
RewriteCond {REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteRule ^partners/([0-9]+)/([0-9a-zA-Z_-]+) partners.php?id=$1&name=$2 [NC,L]
当我点击像partners/1/john这样的链接时,它似乎可以工作,但它不适用于partners/1/john cena。如果只有一个单词,但没有两个单词和一个空格,那么链接似乎是有效的。
我不明白为什么?
1条答案
按热度按时间6ioyuze21#
默认情况下,空格在您提供的正则表达式模式中不匹配。要使规则适用于包含空格的URL,您应该修改正则表达式以包含空格。可以使用“\s”模式匹配空格