【问题标题】:Infinite redirect after htaccesshtaccess 后无限重定向
【发布时间】:2021-09-06 15:11:50
【问题描述】:
RewriteEngine On
RewriteBase /worksheet/

# \?\S matches at least one character after ?
RewriteCond %{THE_REQUEST} \s/(worksheet/rebus)/\?\S [NC]
RewriteRule ^ /%1/? [R=301,L]
RewriteRule ^rebus/?$ /worksheet/rebus/? [L,R=301,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)?$ index.php?url=$2&tableName=$1 [L,QSA]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)?$ index.php?url=$2&tableName=$1 [L,QSA]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)?$ index.php?url=$2&tableName=$1&showSol=$3 [L,QSA]

我改了

xyz.com/worksheet/rebus/?random=testing11

转发给

xyz.com/worksheet/rebus/

但它最终以无限重定向结束。

【问题讨论】:

    标签: apache .htaccess mod-rewrite url-rewriting friendly-url


    【解决方案1】:

    使用您显示的示例,请尝试遵循 htaccess 规则文件。请确保将 htaccess 规则文件与工作表文件夹一起保存在工作表文件夹中。

    在测试 URL 之前清除浏览器缓存。

    RewriteEngine On
    
    RewriteBase /worksheet/
    
    # \?\S matches at least one character after ?
    RewriteCond %{THE_REQUEST} \s/(worksheet/rebus)/\?\S [NC]
    RewriteRule ^ /%1/? [R=301,L]
    RewriteRule ^rebus/?$ /worksheet/rebus/? [L,R=301,NC]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ index.php?url=$2&tableName=$1&showSol=$3 [L,QSA]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^/]+)/([^/]+)/?$ index.php?url=$2&tableName=$1 [L,QSA]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^/]+)/?$ index.php?tableName=$1 [L,QSA]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-25
      • 1970-01-01
      • 1970-01-01
      • 2015-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多