[英]htaccess URL rewrite isn't working with hyphens
我有一些很棒的代码可以用.htaccess
重写一些 URL。 而且效果很好。
但是,该 URL 似乎不接受连字符。
RewriteRule ^/?company/(\w+)/?$ /company-page.php?pURL=$1 [END]
RewriteRule ^/?company/(\w+)/(\d+)/?$ /company-page.php?pURL=$1&page=$2 [END]
我试过使用在线参考资料放入几个正则表达式开关,但我完全感到困惑。
这是有效的 URL,而且效果非常好:
https://www.example.com/company/leapdifferent/
但是如果公司名称中包含连字符,该页面将返回 404。例如:
https://www.example.com/company/bds-dcor-prefab-pltd-21733
简而言之,我在尝试修改我当前的正则表达式以接受连字符时遇到了麻烦。
RewriteRule ^/?company/(\w+)/?$ /company-page.php?pURL=$1 [END]
\w
速记字符类不包括连字符。 具体来说,这匹配az
、 AZ
、 0-9
和_
(下划线)。
要匹配连字符以及上述内容,请将正则表达式子模式\w
更改为[\w-]
,这是一个现在包含连字符的字符类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.