从URL获取包含连字符/破折号(-)的字符串


Get string from URL containing hyphen/dash (-)

我尝试从URL获取字符串,例如"www.example.com/store/samsung - a5 - 2016"

我想用$_GET方法从链接中得到"Samsung - a5 -2016",但是我得到的只是"Samsung"。

我想获得整个字符串'samsung-A5-2016'。

您需要在字符组的开头或结尾添加-,以便它不定义范围:

RewriteRule ^store/([-0-9a-zA-Z]+) store.php?d=$1 [NC,L] 
                     ^ Here you can add the - sign

请注意,这只允许您的url中的-签名,如果您想要其他的,您需要单独添加这些

请遵守。htaccess规则因为目前你的。htaccess规则的正则表达式不允许'-',它在整个querystring值的'-'之前给出字符串。

RewriteEngine on
RewriteRule ^store/(.*) store.php?d=$1 [L]