我在主持人上阅读了一篇关于如何将子文件夹设置为我的域的根目录的文章,但它误导我相信请求将全部发送到/子文件夹/而不是根本发送到根目录,那是不是这样的。
我在root中的.htaccess中使用此代码,不幸的是,它没有按预期工作。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /subfolder/$1
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteRule ^(/)?$ subfolder/index.php [L]
我想要实现的目标如下:
总而言之,我希望将“root”完全设置为/ subfolder /,在实际的根中无法访问phpinfo.php和php.ini等重要文件,并且仍然使用真正的.htaccess像往常一样。
我知道我在这里问了很多,所以我道歉。
提前感谢任何可以提供帮助的人。
答案 0 :(得分:0)
您可以在子文件夹中添加.htpasswd
文件:
<强> htpasswd的强>
admin:$apr1$EvV5M50w$9IgAqskEg5r2pIIXUzQyp0
并在子文件夹/ .htaccess 文件中定义它,如下所示:
AuthUserFile /www/site/.htpasswd
AuthType Basic
AuthName "My secret place"
require valid-user
现在打开子文件夹,系统会向您询问密码和用户名(在我的示例中为 admin / admin )。
要将其设置为起始文件夹,您只需添加
即可<?php header( 'Location: /subfolder/' ); die; ?>
位于index.php文件的最顶层,因此它始终会将您重定向到子文件夹。