htaccessexception/“拒绝所有除了贝宝”

我在这个问题上度过了我的傍晚,我没有find如何解决/绕过它:-(

我在“mydomain.com/admin/”中有一个.htaccess文件,内容如下:

<Files ~ "[^index]\.php$"> Order Allow,Deny Deny from All </Files> 

这个.htaccess的目标是保护所有包含的文件,例如inc / config.php,不被直接调用。

我的问题是,我想为贝宝使用的通知PHP文件例外。 换句话说,我有一个文件“mydomain.com/admin/paypal/notify.php”,我希望允许paypal.com执行它。

我尝试了十分之一的东西,因为在.htaccess中添加了“文件”授权

 <Files /admin/paypal/notify.php> Order Deny,Allow Deny from all Allow from paypal.com </Files> 

但成功: – (

仿佛

 <Files ~ "[^index]\.php$"> 

是唯一遵循的规则。

<Files filename >只适用于一个文件名,你不能使用它的path。

Files指令文档指出:

本节中给出的指令将应用于任何具有与指定文件名匹配的基本名(文件名的最后一个组件)的对象。

解决方法:

在目录admin / paypal中 ,创build一个.htaccess文件:

 <Files notify.php> Order Deny,Allow Deny from All Allow from paypal.com </Files> 

编辑:颠倒拒绝和允许。

请记住,从paypal.com做一个允许将要求您的网站的IP地址的FQDN是正确的paypal.com,而通过我的日志看,通知来自notify.paypal.com(最后三个请求来自66.211。 170.66)前五天我没有,所以我不能确定它们是否来自同一个IP块。