【发布时间】:2020-07-31 21:37:30
【问题描述】:
大家好,我的 .htaccess 文件中有以下重写规则:
RewriteRule ^blog/(\w+)/?$ /blogitem.php?bseo=$1
它适用于大多数 URL,但是当我尝试使用“-”时找不到 URL,会引发网络服务器错误。
我已经测试过了,如果我遵循重写规则,它的工作原理就像
https://ikeen.com/blogitem.php?bseo=nokia-3310
但是一旦我尝试使用重写来访问它
https://ikeen.com/blog/nokia-3310
上面写着 404,有什么想法可以去哪里看?
问题是我正在尝试从俄语音译 URL,使用“-”作为俄语软符号和硬符号的替代。
【问题讨论】:
-
如果您不知道
\w实际涵盖的内容,那么regex101.com 可以为您解释。 -
我知道,但不是专家,我可以看到 _ 有效而 - 无效。任何想法如何实际解决它?正则表达式是如此复杂
-
将
\w放入一个字符类中,并将-添加到该类中…… -
很抱歉,这听起来很难理解。您能否根据我提供的内容向我展示重写字符串的示例。我认为我不明白如何在手动填充的 .htaccess 中使用正则表达式中的类。
标签: php apache .htaccess url-rewriting