Php .htpasswd在重写的URL上

Php .htpasswd在重写的URL上,php,apache,.htaccess,mod-rewrite,url-rewriting,Php,Apache,.htaccess,Mod Rewrite,Url Rewriting,我的任务是保护一个编写糟糕的PHP站点,该站点使用基本的重写规则创建漂亮的URL <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*) index.php?mod_name=$0 [L] </IfModule> 重新启动发动机 重写基

我的任务是保护一个编写糟糕的PHP站点,该站点使用基本的重写规则创建漂亮的URL

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php?mod_name=$0 [L]
</IfModule>

重新启动发动机
重写基/
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)index.php?mod_name=$0[L]
我想用一个标准的.htpasswd来保护“/admin/”重写(index.php?mod_name=admin)及其子项(admin/orders、admin/projects等),因为原始代码monkey编写的安全性非常糟糕,很容易被绕过。。。我想这样做,而不是从头开始重新设计整个网站,因为即使是网站的php密码加密和存储都很糟糕

这在根目录中的.htaccess文件中是否可能?为real添加一个“admin”目录并使用标准方法使其覆盖根目录中的重写规则。。。显示空白目录


我尝试在“real”/admin/目录中执行重写规则,将其指向父目录的index.php(带有查询字符串),但结果是404或只是一个空白目录。它没有重定向到父级的index.php w/查询字符串。。。尝试更改RewriteBase,尝试更改RewriteRule以包括{$\u服务器['DOCUMENT\u ROOT']}。。。什么都不管用。

你不能仅仅重建安全性吗?与其在破损的门前建造一扇新门,不如修复破损的门。他们的预算非常有限,代码也很混乱。。。我甚至不想碰它。使用带有auth的伪
/admin/
文件夹的解决方案是可能的,但没有用处,因为可以直接访问url
index.php?mod_name=admin
,而伪admin文件夹中的auth将被绕过。。。应用程序的入口点是index.php,可能是您应该在开始时挂接到那里,比如
if(mod_name==admin){do_auth();}
。我想不出htaccess可能的解决方案…@Zimmi这是一个我没有考虑过的要点。谢谢