Php - 在 rewriteRule 中允许空间

标签 php seo rewrite space rule

嘿,现在我有这个重写(用于 seo):

RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?id=$1

它可以工作,但只能使用这样的 url:

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_\-+]+)$

+是一个urlencoded空间。

UPD:尝试将每个符号的正则表达式更改为 ^(.+)$

关于Php - 在 rewriteRule 中允许空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24201919/

相关文章:

.htaccess - 如何使用 .htaccess 将文件夹重定向到 index.php?

apache - 如何使用别名重写规则?

asp.net - 具有系统文化检测的多语言站点的 SEO 含义

php - 如何从 CodeIgniter 中的 URL 中删除段

php - 在mysql php中获取真假结果

php - 在整个文档中去除标签的快速方法

.htaccess - 选择规范版本

seo - 从网站/搜索引擎中完全删除 URL 的正确方法是什么?

php - 如何开始使用版本控制和PHP

php - 在 Woocommerce 中使用 AJAX 刷新/更新微型购物车