我正在运行apache2
。我正尝试从我的项目位置到 apache 的 建立一个符号链接/var/www/
,它将文件拉到主机。
在我的项目目录中myProject
,我运行:
sudo ln -s . /var/www/myProject
当我转到 时0.0.0.0:90
,它确实在索引中显示 myProject 文件夹。但是,每次我单击 myProject 时,服务器都会循环回到原始索引。如果我单击 myProject 3 次,URL 就会变成0.0.0.0:90/myProject/myProject/myProject
,索引与刚才的相同0.0.0.0:90
这是我的/etc/apache2/sites-enabled/000-default
<VirtualHost *:90>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我尝试将 更改FollowSymLinks
为+FollowSymLinks
,但没有效果。
有什么想法吗?谢谢
答案1
这与 Apache 无关。
这是您建立链接的方式。
ln -s
不会.
相对于当前目录进行评估。始终会创建指向结果链接文件的相对链接。
它将创建一个链接到.
其中/var/www
将评估为完整路径/var/www/.
您需要用完全限定的文件名替换点
sudo ln -s /home/me/myProject /var/www/myProject
笔记 只是暗示(因为我自己也有类似的设置):不要忘记确保 Apache 对您的项目文件具有读取权限。很容易忘记,但结果“403”可能会让您认为是配置错误而不是文件权限错误。