在.htaccess中组合IP过滤器和cakePHP重写

时间:2014-05-06 08:02:34

标签: apache .htaccess mod-rewrite

我使用cakePHP,它使用以下重写:

RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L] 

我现在需要添加一个IP过滤器,它提供对路径的单个IP访问(其他人获得403 Forbidden)。我通过写作来实现这一目标:

RewriteCond %{REMOTE_ADDR} !^12\.345\.67\.89$
RewriteRule ^/the-path/ - [F,L]

但我怎样才能将这些结合起来呢?如果我这样做,IP过滤器似乎被忽略:

RewriteCond %{REMOTE_ADDR} !^12\.345\.67\.89$
RewriteRule ^/the-path/ - [F,L]
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L] 

1 个答案:

答案 0 :(得分:0)

删除RewriteRule模式中的前导斜杠并简化规则:

RewriteCond %{REMOTE_ADDR} !^12\.345\.67\.89$
RewriteRule ^the-path(/.*)?$ - [F,L]

RewriteRule (.*) app/webroot/$1 [L]