我刚刚在Ubuntu 12.04中设置了apache / php / mysql,我已经为我的虚拟目录创建了一个Alias,这是我的/ etc / apache2 / sites-enabled / 000-默认文件:
Alias /demo/ "/home/czetsuya/projects/eclipse/eclipse-php/demo-portfolio"
<Directory "/home/czetsuya/projects/eclipse/eclipse-php/demo-portfolio">
DirectoryIndex index.php
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
Allow from all
</Directory>
请注意,我已经将chown和chmod应用于:/ home / czetsuya / projects / eclipse / eclipse-php / demo-portfolio
chown www-data:www-data /home/czetsuya/projects/eclipse/eclipse-php/demo-portfolio -R
chmow 777 /home/czetsuya/projects/eclipse/eclipse-php/demo-portfolio -R
但是当我访问:_http:// localhost / demo时,我收到了404 Not found错误。看看/var/log/apache2/error.log我发现它仍然指向/ var / www / demo:
File does not exist: /var/www/demo
知道为什么Alias被忽略了吗?
请注意,我已经重新启动并重新加载apache2。并且还启用了重写。
谢谢,
czetsuya
答案 0 :(得分:9)
您的问题最有可能通过mod_alias manual;
解决请注意,如果在URL路径中包含尾随/,则表示服务器 将需要尾随/以扩展别名。也就是说,如果 你用
Alias / icons / / usr / local / apache / icons /然后不会是URL /图标 别名,因为缺少尾随/.
尝试将别名中的/demo/
更改为/demo
,它应该会更好。
答案 1 :(得分:2)
必须在/etc/apache2/mods-enabled/alias.conf
文件中配置Apache 2.4中的所有别名。
它们在虚拟主机文件中被忽略。
答案 2 :(得分:-1)
小伙伴关注这些SLASHES的确切语法 它不能在目录名的末尾,也不能在别名的末尾,这花费了我不可思议的时间来找到这个错误,非常好的工作人们来自apache! 合适的方式 : 别名“/ docs”“/ var / web” 错误道: 别名“/ docs /”“/ var / web /”