gpt4 book ai didi

php - 让一些 RewriteCond 影响多个规则

转载 作者:可可西里 更新时间:2023-11-01 13:46:34 25 4
gpt4 key购买 nike

我有一个网站,各个部分parse request URLs by themselves有些则没有(例如 vBulletin 论坛)。我必须向适当脚本发送请求的 .htaccess 是:

# wiki, shop, admin
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !(.*)\.js
RewriteRule ^wiki/(.*)$ w/index.php?title=$1 [PT,L,QSA]
RewriteRule ^wiki/*$ wiki/ [L,QSA]
RewriteRule ^shop/ /shop/shop.php [NC,L]
RewriteRule ^forum/admincp/pkr/ /forum/admincp/pkr/pkr.php [NC,L]

这并不像我预期的那样有效。我忘记了重写条件只适用于它们之后的第一条规则。问题是如何将这些 RewriteCondition 应用到所有这些规则,而不必复制粘贴它们 4 次?


问题是这样的:

  • /shop/example 重写为/shop/shop.php
  • /shop/shop.php 然后再次重写为/shop/shop.php(阅读:我们有一个无限循环)。如果将此条件应用于该重写规则,则不会发生这种情况,因为/shop/shop.php 是一个实际文件:

    RewriteCond %{REQUEST_FILENAME} !-f

所以是的...

最佳答案

反转表达式并将其附加到破坏规则:

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} (.*)\.js
RewriteRule ^ - [L]

关于php - 让一些 RewriteCond 影响多个规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1715765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com