【问题标题】:Regexp OR operator正则表达式 OR 运算符
【发布时间】:2013-09-03 15:48:24
【问题描述】:

我正在使用 .htaccess 生成漂亮的链接,我需要在斜杠上包含 or

例如 domain.com/page/12/a/domain.com/page/12/a 可以工作

我尝试过的:

RewriteRule ^page/([^/]*)/([^/]*)(/?)([^/]*) index.php?do=atoz&category=$1&letter=$2&type=$3 [L]

【问题讨论】:

    标签: php regex apache .htaccess


    【解决方案1】:

    在您的情况下,0 或 1 的简单量词 ? 应该可以工作。

    ^page/([^/]*)/([^/]*)(?:/([^/]*))?
                          ##         #
    

    编辑:您也可以寻找一个不匹配的组,以便您可以将其量化为可选。它以?:开头。

    【讨论】:

    • 在你的问题给出的例子中,也是在最后。
    • 因为第三个变量是可选的
    • 你的意思可能是最后一部分是可选的。我添加了那个。
    • 第三个变量是什么?你的问题只有两个。也许你的问题不起作用?请阅读我的示例性回答,它只是建议它如何工作而不是你必须使用什么。顺便说一句,解决这个问题的方法不止一种。但是,我似乎理解了你的问题,而不是制定正则表达式的问题:)
    • 我再次编辑,因为您似乎希望第三个参数可选(也许)?我不知道 apache 将如何处理可选的匹配组,所以也许这不适用于 apache,每个 PCRE(由 apache 使用)这应该可以工作。
    猜你喜欢
    • 2012-10-30
    • 2011-01-03
    • 1970-01-01
    • 2013-11-18
    • 2014-08-24
    • 2023-03-10
    • 1970-01-01
    • 2014-05-01
    相关资源
    最近更新 更多