我有一个名为"mydomain.com“的域名
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options -Indexes FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
....
</VirtualHost>当我在url中写入以下地址时:
www.mydomain.com/mysubdomain/myfolder
转到一个工作正常的网页。
mysubdomain站点-可用站点如下,称为mysubdomain
<VirtualHost *:80>
DocumentRoot /var/www/mysubdomain
ServerName www.mysubdomain.com
ServerAlias mysubdomain.com
ErrorLog ${APACHE_LOG_DIR}/error_mysubdomain.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access_mysubdomain.log combined
<Directory /var/www/mysubdomain>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>一切都很正常,当我输入www.mydomain.com/mysubdomain/myfolder时,www.mydomain.com/mysubdomain/myfolder/login.php也会正常工作
但是当我写的时候
http://www.mysubdomain.com/myfolder/login.php
不能像预期的那样工作,因为当我在login.php中包含一个引用时,比如../../myfolder不能像我预期的那样转到根文件夹,我该如何修复它?
在www.mydomain.com/mysubdomain/myfolder/login.php中,像../../myfolder这样的裁判对/var/www/来说很好
我希望显示给用户的url可以是http://www.mysubdomain.com/myfolder/login.php
发布于 2014-04-10 05:30:13
相对URL是相对于URL的,而不是相对于web服务器上的文件系统(对客户端不可见)。
您不能在目录树中向上导航到未显示在正在查看的虚拟主机的web根目录下的文件。
发布于 2014-04-11 02:14:43
解决方案很简单:
更改站点中的mysubdomain文件-可用于
DocumentRoot /var/www/mysubdomain ServerName www.mysubdomain.com ServerAlias mysubdomain.comErrorLog ${APACHE_LOG_DIR}/error_mysubdomain.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access_mysubdomain.log combined
Alias /myfolder /var/www/myfolder
<Directory /var/www/mysubdomain>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
https://stackoverflow.com/questions/22973686
复制相似问题