尝试使用 /var/www/html 以外的文件夹
Posted
技术标签:
【中文标题】尝试使用 /var/www/html 以外的文件夹【英文标题】:Attempting to use folder other than /var/www/html 【发布时间】:2015-03-06 15:36:36 【问题描述】:我正在为我的网络服务器运行 Ubuntu (+LAMP) 堆栈。网络服务器的一切似乎都运行良好。例如我有 index.php 页面与
<?php
phpinfo();
?>
在 /var/www/html 内 & 也在 /var/www/mytestsite.com/ 下
从网络服务器内部,两个站点 @http://MyServerIPAddress/hello.php
和 http://MyServerIPAddress/mytestsite.com/hello.php
都在显示正确的 phpinfo。
当我从服务器外部测试时,我只能访问 /var/www/html 内的页面
http://MyServerIPAddress/hello.php
但是页面访问
http://MyServerIPAddress/mytestsite.com/hello.php
消息显示
Not Found
The requested URL /example.com was not found on this server.
Apache/2.4.7 (Ubuntu) Server at *MyServerIPAddress* Port 80.
这是我用于 apache 的 mytestsite.com.conf
<VirtualHost *:80>
ServerAdmin admin@mytestsite.com
ServerName mytestsite.com
ServerAlias www.mytestsite.com
DocumentRoot /var/www/mytestsite.com
</VirtualHost>
并且还将文件夹访问权限和所有者设置与 /var/www/html 和 /var/www/mytestsite.com 匹配
我需要什么额外的配置才能访问 /var/www/html 文件夹之外的网站?
【问题讨论】:
如果您尝试将 index.php 放在/var/www/html/mytestsite.com/
会怎样?
也可以。只有当我创建一个与 /var/www/html 相同级别的新文件夹时,我才能让它工作。
【参考方案1】:
在查看 apache 日志和其他人的帮助后,我找到了自己问题的答案 首先我将网站的 apache conf 文件更改为
<VirtualHost *:80>
ServerAdmin admin@mytestsite.com
ServerName mytestsite.com
ServerName <ServerIpAddress>
DocumentRoot /var/www
<Directory /var/www/mytestsite.com/public_html**/>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog $APACHE_LOG_DIR/error.log
CustomLog $APACHE_LOG_DIR/access.log combined
</VirtualHost>
我还对 /etc/hosts 文件进行了更改,以包含该站点
<localhostIp> localhost
<localhostIp> ubuntu
<ServerIpAddress> mytestsite.com mytestsite.com
更改后,我可以从服务器外部访问站点
【讨论】:
以上是关于尝试使用 /var/www/html 以外的文件夹的主要内容,如果未能解决你的问题,请参考以下文章
我需要“/var/www”,但 Apache2 尝试使用空的“/var/www/html”
Composer 在 /var/www/html 中找不到 composer.json 文件