.htaccess阻止所有php文件与一些文件的exepction

时间:2017-12-07 21:18:49

标签: .htaccess

我试图制作一个.htaccess文件,用文件夹public,文件index.php,文件ajax.php,img,css和js来阻止每个文件夹和文件。无论您在网址中输入什么内容,它都应该将您重定向到www.domain.com/index.php。几乎所有东西都在工作但是ajax.php文件仍然被阻止,所以我的javascript文件无法访问它。有什么建议?

我的index.php放在public文件夹中,所有其他php文件都放在一个名为php,js,css等的文件夹中,但它们不在public。它喜欢这个/ root / public和/ root / php等等。 .htaccess文件放在/ root /

RewriteEngine On

RewriteBase       /
RewriteCond     %{REQUEST_FILENAME} !-f
RewriteRule       ^(.*)$    public/index.php?_url=$1    [QSA,L]

RewriteCond %{REQUEST_URI} !^/(?:public/|index\.php$|ajax\.php$|.+\.(?:jpe?g|gif|png|ico|tiff|css|js)$) [NC]
RewriteRule . - [F]

1 个答案:

答案 0 :(得分:0)

这样做:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} !^/(?:public/|(?:index|ajax)\.php$|.+\.(?:jpe?g|gif|png|ico|tiff|css|js)$) [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ public/index.php?_url=$1 [QSA,L]