在亚马逊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
,但它仍然无法正常工作。
我想知道如何解决这个问题,谢谢。
答案 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]