我有一些很棒的代码,可以用.htaccess
重写某些URL。而且效果很好。
但是,URL似乎不接受连字符。
RewriteRule ^/?company/(\w+)/?$ /company-page.php?pURL=$1 [END]
RewriteRule ^/?company/(\w+)/(\d+)/?$ /company-page.php?pURL=$1&page=$2 [END]
我已经尝试过在线使用引用来放置几个正则表达式开关,但是我完全感到困惑。
这里是有效的网址,效果很好:
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
速记字符类不包含连字符。具体来说,它匹配a-z
,A-Z
,0-9
和_
(下划线)。
要与上述字符连字符匹配,然后将正则表达式子模式\w
更改为[\w-]
,即现在包含连字符的字符类。