我有一个magento网上商店,在他的基础.htaccess文件中有以下规则:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php [L]
现在我在webshop根目录中有一个名为“oscware”的子目录。在此文件夹中还有一个htaccess文件,其中包含以下内容:
AuthType Basic
AuthName "Please enter your ID and password"
AuthUserFile .htpasswd
require valid-user
如果我想连接到http://www.example.com/oscware/oscware-connector.php我将被重定向到magento商店,错误404.
如果我删除规则
RewriteRule .* index.php [L]
它有效。好的,每个人都应该认为问题是在重写条件下。但事实并非如此。因为在另一边,如果我删除规则
require valid-user
在oscware目录中的.htaccess文件中它也可以工作(使用规则
RewriteRule .* index.php [L]
)
最后我只能编辑webshop-root中的magento .htaccess,因为oscware .htaccess是自动生成的。有没有人想让这个场景有效?
提前致谢!
答案 0 :(得分:0)
不确定为什么会这样。我能想到的唯一一件事就是可能缺少一个内部的401页面,并且它会以某种方式导致文档根目录中的规则被应用。除非“oscware”或magento中的其他规则或重定向无意中导致此问题。
但请尝试在“oscware”文件夹中的htaccess文件中打开重写引擎:
RewriteEngine On