.htaccess htaccess停止处理规则

.htaccess htaccess停止处理规则,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,如果我的IP符合维护模式条件,我需要能够在CakePHP块上运行规则,否则忽略它们,可能吗?谢谢 RewriteEngine on # Maintenance Mode RewriteCond %{REQUEST_URI} !/offline\.php$ RewriteCond %{REMOTE_ADDR} !^(00\.00\.00\.00) RewriteRule .* /offline\.php [L] # CakePHP RewriteRule ^$ app/webroot/

如果我的IP符合维护模式条件,我需要能够在CakePHP块上运行规则,否则忽略它们,可能吗?谢谢

RewriteEngine on

# Maintenance Mode
RewriteCond %{REQUEST_URI} !/offline\.php$
RewriteCond %{REMOTE_ADDR} !^(00\.00\.00\.00)
RewriteRule .* /offline\.php [L]

# CakePHP
RewriteRule    ^$ app/webroot/    [L]
RewriteRule    (.*) app/webroot/$1 [L]
是的,这是可能的:

RewriteEngine on

# Maintenance Mode
RewriteRule ^offline\.php$ - [L]
RewriteCond %{REQUEST_URI} !^/offline\.php$
RewriteCond %{REMOTE_ADDR} !=192.168.0.2
RewriteRule .* /offline.php [L]

# CakePHP
RewriteRule ^$ app/webroot/ [L]
RewriteCond %{REQUEST_URI} !^/app/webroot/
RewriteRule (.*) app/webroot/$1 [L]
  • 使用您自己的IP地址

  • 我在最后一条规则中添加了条件,以防止重写循环

  • 是的,这是可能的:

    RewriteEngine on
    
    # Maintenance Mode
    RewriteRule ^offline\.php$ - [L]
    RewriteCond %{REQUEST_URI} !^/offline\.php$
    RewriteCond %{REMOTE_ADDR} !=192.168.0.2
    RewriteRule .* /offline.php [L]
    
    # CakePHP
    RewriteRule ^$ app/webroot/ [L]
    RewriteCond %{REQUEST_URI} !^/app/webroot/
    RewriteRule (.*) app/webroot/$1 [L]
    
  • 使用您自己的IP地址

  • 我在最后一条规则中添加了条件,以防止重写循环


  • 如果我使用无效的IP访问网站,服务器会在app/webroot中查找offline.php,导致404。嗯。@woodscreative我已经更新了我的答案--
    RewriteRule^offline\.php$-[L]
    行应该能够确保一旦重写了脱机URL,就不会传递给CakePHP。@woodscreative检查Apache错误日志以获得准确的错误描述--我刚刚重新测试过。。它对我来说很好(我没有CakePHP,但我创建了类似的重写规则来捕获所有URL)。再次尝试复制粘贴这些规则(可能未正确保存/上载)。如果我使用无效的IP访问网站,服务器将在app/webroot中查找offline.php,导致404错误。嗯。@woodscreative我已经更新了我的答案--
    RewriteRule^offline\.php$-[L]
    行应该能够确保一旦重写了脱机URL,就不会传递给CakePHP。@woodscreative检查Apache错误日志以获得准确的错误描述--我刚刚重新测试过。。它对我来说很好(我没有CakePHP,但我创建了类似的重写规则来捕获所有URL)。再次尝试复制粘贴这些规则(可能未正确保存/上载)。