我有一个名为“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 sites-available如下,名为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/
我希望向用户显示的网址可以是http://www.mysubdomain.com/myfolder/login.php
答案 0 :(得分:0)
相对URL相对于 URL ,而不是相对于Web服务器上的文件系统(客户端不可见)。
您无法将目录树向上导航到未显示在正在查看的虚拟主机的Web根目录下的文件。
答案 1 :(得分:0)
解决方案很简单:
将站点中的文件mysubdomain更改为
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
Alias /myfolder /var/www/myfolder
<Directory /var/www/mysubdomain>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>