【问题标题】:with and without trailing slash带和不带斜杠
【发布时间】:2017-09-20 01:15:11
【问题描述】:

我将如何制定这条规则,以便您可以使用或不使用斜杠访问它?

RewriteRule ^members/([^/]+)$ members.php?id=$1 [L]

【问题讨论】:

    标签: regex mod-rewrite


    【解决方案1】:
    RewriteRule ^members/([^/]+)/?$ members.php?id=$1 [L]
    

    刚刚添加了“/?”最后说寻找一个斜杠但是?说它不必在那里。

    【讨论】:

      【解决方案2】:

      我对你所说的这个“mod-rewrite”一无所知(可能是一个 Apache 模块?),但它确实看起来像一个regex,我知道这些。 :-)

      试试这个:

      RewriteRule ^members/([^/]+)(/|)$ members.php?id=$1 [L]
      

      因此,为了将其分解,^ 表示“以”开头,“members/”表示完全匹配,([^/]+) 表示“1 个或多个非斜线字符,分配给 @987654327 @",(/|) 表示“斜杠或空字符串,分配给$2”,末尾的$ 表示“字符串必须在这里结束”。

      【讨论】:

        【解决方案3】:

        我只是需要提取域名,所以我使用了这个:

        ^(?:https?:\/\/)?(?:www[0-9]*\.)?(.*?)(?:\/.*)?$
        

        在我的电子表格中,它看起来像这样:

        =REGEXEXTRACT(CELL_WITH_URL,"^(?:https?:\/\/)?(?:www[0-9]*\.)?(.*?)(?:\/.*)?$")
        

        希望能节省一些时间!快乐的正则表达式!

        【讨论】:

          猜你喜欢
          • 2017-06-15
          • 1970-01-01
          • 2016-08-24
          • 2019-07-18
          • 1970-01-01
          • 2015-09-20
          • 2018-11-23
          • 1970-01-01
          • 2016-04-06
          相关资源
          最近更新 更多