[英]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.