【发布时间】:2015-09-14 20:50:00
【问题描述】:
我有一台 ubuntu 机器,我想在其上运行 php rest 服务器。这是我的默认配置文件:
ServerName localhost
<VirtualHost *:80>
DocumentRoot /var/www/html/otherSite
ServerName www.vlio20_paka.com
Alias /otherSite /var/www/html/otherSite
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/lbserver/public
ServerName www.vlio20_lb.com
Alias /lbServer /var/www/lbserver/public
<Directory /var/www/lbserver/public>
AllowOverride all
DirectoryIndex index.php
Require all granted
</Directory>
</VirtualHost>
在我的公共目录中,我有 .htaccess 文件:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
当我尝试访问服务器时http://MACHINE_IP/lbServer
我收到 Not Found 错误。
我怎样才能让它工作 (每次更改配置文件后我都会重新启动apache)?
更新:
apache2 -t 制作:
[Sun Jun 28 12:00:00.789522 2015] [core:warn] [pid 22089] AH00111: Config variable ${APACHE_LOCK_DIR} is not defined
[Sun Jun 28 12:00:00.789835 2015] [core:warn] [pid 22089] AH00111: Config variable ${APACHE_PID_FILE} is not defined
[Sun Jun 28 12:00:00.789970 2015] [core:warn] [pid 22089] AH00111: Config variable ${APACHE_RUN_USER} is not defined
[Sun Jun 28 12:00:00.790088 2015] [core:warn] [pid 22089] AH00111: Config variable ${APACHE_RUN_GROUP} is not defined
[Sun Jun 28 12:00:00.790240 2015] [core:warn] [pid 22089] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Sun Jun 28 12:00:00.794721 2015] [core:warn] [pid 22089:tid 140102153521024] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Sun Jun 28 12:00:00.795136 2015] [core:warn] [pid 22089:tid 140102153521024] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Sun Jun 28 12:00:00.795200 2015] [core:warn] [pid 22089:tid 140102153521024] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
AH00526: Syntax error on line 74 of /etc/apache2/apache2.conf:
Invalid Mutex directory in argument file:${APACHE_LOCK_DIR}
注意:第一个网站加载正常,但第二个网站出现 404 错误。
【问题讨论】:
-
重启你的apache服务器的命令是
sudo service apache2 restart。只需重新加载您的配置(reload而不是restart)也可能会起作用并且速度会稍快一些。 -
我都做了,sudo service apache2 reload & sudo service apache2 restart
-
这意味着除非这些命令产生错误消息,否则您的配置是有效的。请注意,Ubuntu 系统上没有
httpd二进制文件,它被称为apache2,一般不应直接调用。 -
重启 = 停止 + 启动,重新加载 = 保持运行 + 重新读取配置文件。
-
@vlio20 linux 系统上的默认
httpd.conf是apache.conf。你检查过第 74 行吗?
标签: php apache unix ubuntu virtualhost