如何使虚拟主机 DirectoryIndex 文件出现在 url 中?

Bob*_*ing 6 rewrite virtualhost directoryindex apache-2.2

我已经设置了一个虚拟主机,它指定了在调用 URL 时要加载的默认文件。

我遇到的问题是我需要该默认 DirectoryIndex 文件出现在 URL 中。

因此,当我访问:www.mysite.co.uk 时,我希望 www.mysite.co.uk/app.php 出现在 URL 中。

如何使用我的 apache.conf 文件中的虚拟主机配置来实现这一点?

这是我当前的代码:

<VirtualHost *:80>
ServerName *.mysite.co.uk
DocumentRoot "/var/www/html/mysite/web/"
DirectoryIndex app.php
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

Dav*_*ude 6

我不确定您是否能够强制浏览器显示默认页面,因为这违背了它的目的。我能想到的最好的主意是将默认值保留为 index.html,并使用 mod_rewrite 将 index.html 定向到 app.php。

这应该适用于默认索引 ( http://domain.com/ ) 并在浏览器中显示所需的 url ( http://domain.com/app.php )

<VirtualHost *:80>
ServerName *.mysite.co.uk
DocumentRoot "/var/www/html/mysite/web/"
DirectoryIndex index.html

RewriteEngine on
RewriteRule ^index\.html$ app.php$1 [L,R=301]

</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

  • 代替 RewriteRule,`RedirectMatch 永久 ^/$ /app.php` 也可以工作。 (2认同)