【问题标题】:Include ":" character in parameter using Apache's mod_rewrite使用 Apache 的 mod_rewrite 在参数中包含“:”字符
【发布时间】:2010-11-28 21:09:38
【问题描述】:

我使用类似的东西将域之后的内容传递给参数“文本”

RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?text=$1 [L,QSA]

所以如果我有 www.example.com/tralala 我会得到 $text='tralala'

但我希望参数中可以多次包含字符“:”:

www.example.com/me:you:him

你能帮帮我吗?

如果我测试

www.example.com/me:you:him 
我得到错误: 禁止的 您无权访问此服务器上的 /you:me:him。

【问题讨论】:

标签: apache url mod-rewrite parameters


【解决方案1】:
RewriteRule ^([a-z]+[\:a-z]+)$ index.php?text=$1 [L,QSA]

可能需要一些调整。虽然 AFAIR 点元字符匹配除了点本身之外的任何字符,所以你也应该很好地使用 (.+)。

【讨论】:

  • 点元字符匹配任何字符,包括点。而且你不需要转义:
猜你喜欢
  • 2013-06-23
  • 2012-08-30
  • 1970-01-01
  • 2021-12-05
  • 2016-04-06
  • 2016-01-25
  • 2014-07-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多