.htaccess规则未实现

时间:2014-09-01 11:53:00

标签: php apache .htaccess

在亚马逊ec2上,我创建了一个.htaccess文件,其中包含以下规则:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ /$1 [L,R=301] 


<Files /index.php>
    Order Allow,Deny
    Allow from all
</Files>

但是我仍然可以直接访问/index.php文件,并且第一条规则也没有实现。 首先,该文件位于/www文件夹中,一旦它没有工作我已将其移至/www/html,但它仍然无法正常工作。

我想知道如何解决这个问题,谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用Files阻止它来代替RewriteRule

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ /$1 [L,R=301] 

RewriteRule (^|/)index\.php(/|$) - [F,NC]