htaccess重定向到子目录并阻止子目录在URL中可调用

时间:2014-05-15 10:48:41

标签: apache .htaccess mod-rewrite redirect

如果我的网络根目录为/.htaccess,请执行以下操作:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^.*$ [NC]
    RewriteRule ^$ public/ [L]
    RewriteCond %{HTTP_HOST} ^.*$ [NC]
    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

/public/.haccess喜欢:

<IfModule mod_rewrite.c>
    RewriteEngine On
</IfModule>

通常所有请求都转发到public/*等(我可以管理这方面的所有问题)。

但是

如何阻止用户查看/公开:

  

// example.com/public/
  //example.com/public/foo
  等

例如,使用上述配置:

  

// example.com/public/foo
  //example.com/public/index.php
  会加载......

但我希望这些请求指向以下网址:

  

// example.com/foo
  //example.com/index.php

即。除了转发到子目录/public之外,我希望从任何URL中省略它,最好是301/302重定向。

如何通过.htaccess执行此操作?

1 个答案:

答案 0 :(得分:0)

简单地限制直接访问,public目录。

您可以尝试以下操作:

<强> /public/.htaccess

deny from all