我使用Drupal在Azure上托管虚拟机。
在drupal/htdocs/sites
我创建了名为my-site.com
然后我将所有网站数据上传到此文件夹。它们是default.settings.php
,settings.php
和files
文件夹。
我已通过phpMyAdmin上传了我的数据库,并在settings.php
当我尝试通过此网址打开此网站时:http://my.ip.address/sites/my-site.com
它会显示一条错误消息:
Forbidden
You don't have permission to access /sites/my-site.com/ on this server.
我的htaccess文件包含以下几行:
# Turn off all options we don't need.
Options None
Options +FollowSymLinks
# Set the catch-all handler to prevent scripts from being executed.
SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
<Files *>
# Override the handler again if we're run later in the evaluation list.
SetHandler Drupal_Security_Do_Not_Remove_See_SA_2013_003
</Files>
# If we know how to do it safely, disable the PHP engine entirely.
<IfModule mod_php5.c>
php_flag engine off
</IfModule>
我做错了什么?
答案 0 :(得分:1)
根据帖子http://planken.org/2013/11/drupal-724-htaccess-modifications-private-and-temp-folders,.htaccess
文件中的内容似乎是保护代码和文件,并阻止代码在目录中执行。
要在子目录中运行完整的Drupal应用程序,您可以尝试将根目录中的原始.htaccess
文件复制到子目录。
您可以在https://github.com/drupal/drupal/blob/8.1.x/.htaccess
获取示例.htaccess
文件
答案 1 :(得分:0)
您应首先检查您网站的docroot中是否有.htaccess文件。有时当你在docroot中隐藏文件复制一个站点时会被省略。以下命令将复制丢失的隐藏文件:
cp source/.* destination/
您发布的.htaccess位于您的文件目录中,这不是我们关心尝试通过index.php访问该网站的主要.htaccess