拒绝直接访问php文件

时间:2013-12-19 14:12:41

标签: regex apache .htaccess mod-rewrite redirect

我编写了这段代码,将所有内容重定向到index.php。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA]

我想以某种方式调整!-f以允许将.php文件重定向到/,而不会进入重定向循环。我/foo/bar/218加载index.php,需要view/foo_bar.php。我希望通过地址栏无法访问/view/foo_bar.php

1 个答案:

答案 0 :(得分:1)

您可以尝试以下规则:

# redirect .php requests to /
RewriteCond %{THE_REQUEST} \.php[\s?] [NC]
RewriteRule ^ / [L,R=302]

# existing rules without .php files
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.php$ index.php [QSA]