繁体   English   中英

具有可选斜杠的简单重写规则

[英]Simple Rewrite rule with optional slash

我只需在htaccess中添加一个重写规则即可:

http:// mysite / toto- > http://mysite/page.php?c = toto

对以下结果相同:

http:// mysite / toto / -> http://mysite/page.php?c = toto

我的htaccess文件:

Options +FollowSymlinks
RewriteEngine On
RewriteRule ^(.*)/?$  page.php?c=$1  [L]

它与URL“ http:// mysite / toto ”一起使用

但没有网址“ http:// mysite / toto / ”->结果: http://mysite/page.php?c = toto /

如何解决呢?

好的,因此您遇到了“贪婪”匹配,。*匹配所有内容。 您可以做的就是用此方法获得不是/每个字符:

^([^ /] )。

这说:

  1. 比赛开始^
  2. 匹配/以外的任何字符: [^/]
  3. 引用步骤2的匹配项,因为$ 1 the parens do that

这将做您想要的。 请注意,如果必须转义/字符,则需要使用/。 我认为您不需要使用htaccess文件。

好的谢谢! 我尝试了一下,看起来很有效!

RewriteBase /
RewriteRule ^(.*[^/])/?$ page.php?c=$1 [QSA,L]

url = http:// localhost / toto / -> result = http://localhost/page.php?c = toto

url = http:// localhost / toto- >结果= http://localhost/page.php?c = toto

暂无
暂无

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

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