如何映射 apache 以使用 www/html/ 中另一个目录内的索引文件而不反映 url

如何映射 apache 以使用 www/html/ 中另一个目录内的索引文件而不反映 url
 Apache version: 2.4
 OS: Ubuntu 14.04

我不确定我是否正确地写了标题。我的索引文件位于某个目录(例如/var/www/html/new/)而不是默认的 apache 根目录。我希望当我localhost在地址栏上键入或我的 IP 时,apache 从此目录加载索引文件。我无法使用此(/var/www/html/new/)目录作为文档根目录,因为我在 中有依赖文件/var/www/html/。我希望 apache 在目录中加载索引文件/new/而不更改 url。我的意思是当我键入时,localhost它应该加载该索引文件,而 url 不应该是localhost/new/

有什么办法吗?可以使用文件来实现吗.htaccess?我对这个东西还很陌生。如果有人能用简单的术语解释一下,那会很有帮助。

更新

我刚刚读到使用 apache url rewrite 可以实现这一点。有人能解释一下怎么做吗?它使用 htaccess 吗?

答案1

如果你只有索引文件/var/www/html/new/(例如/var/www/html/new/index.html),那么你可以使用符号链接执行此操作,以便你的索引文件也会出现在/var/www/html/

例如,首先成为 Apache 用户(这样您创建的任何文件都具有正确的权限):

sudo -s -u www-data
whoami
$ www-data

创建符号链接:

ln -s /var/www/html/new/index.html index.html

看看你得到了什么:

ls -l /var/www/html/

total 4
lrwxrwxrwx 1 www-data www-data   28 2016-01-19 14:36 index.html -> /var/www/html/new/index.html
drwxr-xr-x 2 www-data www-data 4096 2016-01-19 14:25 new

相关内容