【问题标题】:3 simple htaccess tasks, so why am I looping?3 个简单的 htaccess 任务,那我为什么要循环呢?
【发布时间】:2010-11-17 08:21:33
【问题描述】:

我试图在我的 htaccess 文件中完成 3 个相当标准的 url mods,但不幸的是我陷入了循环。我究竟做错了什么?

# force a trailing slash
RewriteRule ^profile/([^/]+)$ /profile/$1/ [R=301,L]

# check for trailing parameters
RewriteCond %{QUERY_STRING} ^(.*)$

# put it all together
RewriteRule ^profile/([^/]+)/$ /profile/index.php?username=$1&%1 [NC,L]

【问题讨论】:

    标签: regex .htaccess mod-rewrite url-rewriting


    【解决方案1】:

    您的第一条规则^profile/([^/]+)$ 的模式也与您的第二条规则profile/index.php 的目标相匹配。

    您可以简单地排除该文件,并为第一条规则添加一个额外的 RewriteCond

    RewriteCond $1 !=index.php
    RewriteRule ^profile/([^/]+)$ /profile/$1/ [R=301,L]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-28
      • 2022-06-14
      • 1970-01-01
      相关资源
      最近更新 更多