我有.htaccess
重定向对特定子目录的所有访问权限。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ /public/$1 [L]
</IfModule>
这是我的目录结构:
/public/index.php
/test.php
/.htaccess
如果我访问http://domain.com/
,则通过将所有内容发送到/public/index.php
来正常工作。但如果我访问http://domain.com/test.php
,则会运行test.php
。但我需要避免访问任何根文件。
这个脚本有另一个问题。如果我尝试调用不存在的文件,而不是将命令发送到/public
并将其路由到自己的404错误(在index.php
结构上定义),则会显示500错误。
答案 0 :(得分:0)
尝试这个简单的规则:
RewriteEngine On
RewriteCond %{REQUEST_URI} !\.(?:jpe?g|gif|bmp|png|tiff|css|js)$ [NC]
RewriteRule !^public/index\.php$ public/index.php [L]