【问题标题】:Rewrite Rule mod_rewrite rule重写规则 mod_rewrite rule
【发布时间】:2011-04-08 01:49:07
【问题描述】:

请给我以下

RewriteRule ^m/([a-z]+)$ view_site_public.php?site_name=$1

我想要的是让地址栏中的http://www.site.com/m/cool 在内部解析为

http://www.site.com/view_site_public.php?site_name=cool

目前报错

【问题讨论】:

  • 您应该发布完整的 .htaccess 文件以及您在问题中遇到的错误。

标签: php mysql mod-rewrite


【解决方案1】:

试试:

RewriteRule ^/m/([a-z]+)$ view_site_public.php?site_name=$1

顺便说一句,您只能捕获站点名称中的小写字母。这就是你想要的吗?

您可能还想在该 RewriteRule 的末尾添加 [QSA,L],这样您就不会检查任何其他规则,因此您还可以传入用户指定的任何查询字符串参数。

【讨论】:

  • 谢谢。请问我怎样才能捕获大写字母。
  • [a-zA-Z] 或者您可能需要数字、下划线、句点等。您可以继续添加:[a-zA-z0-9_.] 或者,您可以只执行 [^ /?] 匹配除正斜杠和问号之外的任何内容。
  • 这工作完美。 - 重写规则 ^m/([^/?]+)$ view_site_public.php?site_name=$1
猜你喜欢
  • 2012-07-22
  • 2010-12-25
  • 2013-09-08
  • 1970-01-01
  • 2012-07-28
  • 2011-02-23
  • 1970-01-01
  • 2023-03-18
相关资源
最近更新 更多