我试图让 modrewrite 规则跳过目录 vip 。正如您在下面看到的那样,我尝试了很多方法,但都无济于事。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
#RewriteRule ^vip$ - [PT]
RewriteRule ^vip/.$ - [PT]
#RewriteCond %{REQUEST_URI} !/vip
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
如何让 modrewrite 完全忽略 /vip/ 目录,以便所有请求直接传递到文件夹?
更新:
作为明确的要点:
  • 它托管在 Dreamhost
  • 文件夹位于 wordpress 目录
  • /vip/文件夹包含一个 webdav .htaccess 等(虽然我不认为这很重要
  • 最佳答案

    尝试将其放在任何其他规则之前。

    RewriteRule ^vip - [L,NC]
    

    它将匹配任何以 vip 开头的 URI。
  • - 表示什么都不做。
  • L 表示这应该是最后一条规则;忽略后面的一切。
  • NC 表示无大小写(因此“VIP”也匹配)。

  • 请注意,它匹配以 vip 开头的任何内容。表达式 ^vip$ 将匹配 vip 但不匹配 vip/vip/index.html$ 可能是你的垮台。如果你真的想把它做对,你可能想用 ^vip(/|$) 这样你就不匹配 vip-page.html

    关于apache - 如何忽略 mod_rewrite 中的目录?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/163302/

    10-16 22:05