【问题标题】:Need help with regular expressions - URL redirection在正则表达式方面需要帮助 - URL 重定向
【发布时间】:2010-05-23 15:07:58
【问题描述】:

我正在尝试将一个容易记住的 url 重定向到一个 php 文件,但我在使用正则表达式时遇到了一些问题。

这是我目前拥有的:

RewriteRule ^tcb/([a-zA-Z0-9]{1,})/([a-zA-Z0-9]{1,})/([a-zA-Z0-9]{1,}) /tcb/lerbd.php?autocarro=$1&tipo=$2&dsd=$3

只有当我提供所有 3 个参数时它才有效。我希望最后两个参数是可选的,因此它要么仅适用于第一个参数,要么适用于所有三个参数。我希望你能帮我解决这个问题。

非常感谢。

【问题讨论】:

    标签: php regex mod-rewrite


    【解决方案1】:

    添加 ?在 RegEx 中的某些内容使其可选之后。就像这样:

    RewriteRule ^tcb/([a-zA-Z0-9]{1,})/?(([a-zA-Z0-9]{1,})/([a-zA-Z0-9]{1,}))? /tcb/lerbd.php?autocarro=$1&tipo=$3&dsd=$4
    

    请注意,我围绕第二个和第三个参数引入了一个新的分组,因此必须移动反向引用。 你可能还想在最后加上一个可选的 /,这样它就可以像指向一个目录一样使用......

    【讨论】:

    • 嘿。非常感谢,但它不起作用:(我听说过?第一期。
    • 嘿,我尝试了更新版本,但仍然没有运气。它给了我内部服务器错误:(我不知道可能出了什么问题,因为这确实看起来很接近可能的解决方案。
    【解决方案2】:

    这是我解决问题的方法。对于可能偶然发现这个问题的人可能会有所帮助:

    RewriteRule ^tcb/([a-zA-Z0-9]{1,})/?(([a-zA-Z0-9]{1,})/([a-zA-Z0-9]{1,}))?$ /tcb/lerbd.php?autocarro=$1&tipo=$3&dsd=$4
    

    【讨论】:

      猜你喜欢
      • 2011-05-10
      • 1970-01-01
      • 1970-01-01
      • 2012-03-31
      • 2021-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-30
      相关资源
      最近更新 更多