【发布时间】:2014-06-13 09:23:11
【问题描述】:
嘿,现在我有这个重写(对于 seo):
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?id=$1
它可以工作,但只能使用这样的网址:
http://example.com/product/anyProduct
但是当url是这样的时候:
http://example.com/product/any Product
有一个空格,我得到 404 - 错误。
所以, 如何用“-”替换任何空格?
我试过了:
RewriteRule ^([a-zA-Z0-9_ -]+)$ index.php?id=$1
但这对我不起作用,知道吗?问候!
【问题讨论】:
-
连字符 (
-) 在字符类 ([]) 中具有特殊含义。你必须逃避它 -
使用“/”转义它,如下所示:^([a-zA-Z0-9_ /-/]+)$ ?
-
您必须阅读正则表达式手册。例如这里:php.net/manual/en/reference.pcre.pattern.syntax.php
-
按照说明这样做:^([a-zA-Z0-9_ \-]+)$ => 不起作用,但为什么?
-
你知道我只需要用“-”替换任何空格,这是正确的方法吗?
标签: php seo rewrite space rule