除了将文件放在单独的文件夹中之外,防止访问所有php文件

时间:2014-12-06 11:42:06

标签: php regex apache .htaccess mod-rewrite

我使用此代码阻止直接访问服务器上的.php文件:

#disable access to files by direct .php 
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /[^?\ ]*\.php[/?\ ]
RewriteRule .*\.php$ 404.php [L]

使用上面的代码片段,任何访问我服务器上的直接文件的尝试(例如index.php)都将被拒绝,而SEO链接将不会被拒绝。

我想对名为“ ajax.php ”的服务器上的php文件进行例外处理。如果不将文件放在单独的文件夹中怎么办?

1 个答案:

答案 0 :(得分:2)

您可以使用否定前瞻:

RewriteCond %{THE_REQUEST} \s/(?!ajax\.php).+?\.php[\s?] [NC]
RewriteRule \.php$ 404.php [L]