我在保护一台老式的TYPO 387后端(/typo 3)通过普通TYPO 3中的AuthType基本部分。htaccess文件。我总是以内部服务器错误告终。以前有人这么做过吗?有没有可能这不能用符号链接?
我把这部分代码放在我的。htaccess(在所有的rwrite开始之前):
SetEnvIf Request_URI ^.*/typo3.* require_auth=true
AuthType basic
AuthName "Admin Schutz"
AuthUserFile /usr/etc/.htpasswd
#Order Deny,Allow
#Deny from all
#Satisfy any
Require valid-user
Allow from env=!require_auth
谢谢你的任何提示!
4条答案
按热度按时间vaj7vani1#
假设您的
/usr/etc/.htpasswd
文件是可访问的且有效的(使用htpasswd
命令正确创建并更改为644
),您的示例 * 应该 * 适用于Apache2.2
,但根据comments in this post,不适用于Apache2.4
。从字面上看,在2.4
它将工作,但将需要密码也为您的根域。有两种解决办法。首先是在
typo3
目录中放置额外的.htaccess
文件,使用简单的规则,即:如@Naderio**所示:但是,如果您按照TYPO 3文档中的建议创建了一个指向源代码的
typo3
符号链接,并且/或者您不想对使用相同源代码的所有项目都要求BasicAuth,则可以直接在VHOST配置中覆盖这些设置,例如(假设您将所有TYPO 3项目都设置为:例如,在/www/typo3/
文件夹中:注意:我会检查你尝试使用的
/usr/etc/
路径是否可以被Apache访问,也许把你的.htpasswd
文件移到离你的www
结构更近的地方会更好,比如文件夹/www/etc/
,并相应地修复上面的规则?d8tt03nd2#
应与以下人员合作:
抛出内部服务器错误,e。例如,如果AuthUserFile的路径不正确。
在这里,我写下了我个人公开文档的片段:https://www.entwicklertools.de/snippet-sammlung/htaccess-snippets/passwortschutz-einrichten/
xkftehaa3#
感谢所有的回复。
最后,我们也在vhost中通过以下代码使用“location”标记来实现这一点。
jjhzyzn04#
如果你不能编辑vhost配置,这一行应该代替你的SetEnvIf。htaccess,intoo: