Regex htaccess/category/page的重写规则

Regex htaccess/category/page的重写规则,regex,apache,.htaccess,mod-rewrite,Regex,Apache,.htaccess,Mod Rewrite,在.htaccess中定义了这样的重写规则 RewriteRule ^([a-zA-Z0-9_-]+)$ ___show-content.php?$1 创建了包含代码的文件\uuuuuuuuu show-content.php echo (ltrim($_SERVER['QUERY_STRING'],'/')). '<br/>'; echo(ltrim($\u服务器['QUERY\u STRING','/')); 如果我键入www.mydomain.com/some page,

在.htaccess中定义了这样的重写规则

RewriteRule ^([a-zA-Z0-9_-]+)$ ___show-content.php?$1
创建了包含代码的文件
\uuuuuuuuu show-content.php

echo (ltrim($_SERVER['QUERY_STRING'],'/')). '<br/>';
echo(ltrim($\u服务器['QUERY\u STRING','/'))
如果我键入
www.mydomain.com/some page
,那么
$\u服务器['QUERY\u STRING'
就是
/some page
。这就像预期的那样工作

但是,如果我键入
www.mydomain.com/some page/other page
,则会看到
未找到请求的URL/some page/other page未在该服务器上找到。
我在
$\u服务器['QUERY\u STRING'
中看不到任何内容。如果有一个尾随斜杠(在域名之后),则正常工作,但如果有多个斜杠,则不工作


RewriteRule需要修改什么才能处理url中的多个尾随斜杠?

这是因为用于捕获URI的正则表达式只允许其中包含一个或多个
[a-zA-Z0-9.-]
字符

将规则设置为:

RewriteRule ^([\w/-]+)$ ___show-content.php?$1 [L,QSA]