Regex htaccess/category/page的重写规则
在.htaccess中定义了这样的重写规则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,
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]