繁体   English   中英

如何在htaccess RewriteRule正则表达式中允许撇号?

[英]How do I ALLOW apostrophe in htaccess RewriteRule regex?

我正在从数据库中检索菜单,其中一些菜单的名称中带有撇号-'。 在我的代码的一部分中,我必须将数据库中的名称与URL进行比较,但是当URL带有撇号时,它将失败。

例如:

当我从数据库中获得名称时,我照原样获取它: foo's

但是从URL,即使我执行此操作,即使URL是web.com?menu=foo's也是如此:

$menu = urldecode($_GET['menu']);

我只有foo

这是我的htaccess重写

RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]

RewriteRule ^explore/([0-9a-zA-Z\ ]+) renderpage.php?menu=$1 [L]

我已经在php中尝试了所有可能的组合,不是,不是这个RewriteRule不允许撇号,我也在正则表达式中尝试了([0-9a-zA-Z\\ ']+) ([0-9a-zA-Z\\ \\']+)但无济于事。

我认为问题出在撇号的位置,请尝试以下操作:

([0-9a-zA-Z'\]+)

要么

([0-9a-zA-Z']+)

暂无
暂无

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

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