繁体   English   中英

htaccess URL 重写不适用于连字符

[英]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速记字符类不包括连字符。 具体来说,这匹配azAZ0-9_ (下划线)。

要匹配连字符以及上述内容,请将正则表达式子模式\w更改为[\w-] ,这是一个现在包含连字符的字符类。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM