使用.htaccess更改默认索引页面
假设我的域名是foo.com
,我的根目录中有index.html
。
然后,如果我在/cart
安装购物车,它将index.php
作为其索引页面。
如何使用.htaccess
将默认索引更改为/cart/index.php
?
添加以下内容以使first.html
您的索引页面
DirectoryIndex first.html
您还可以拥有多个文件,如:
DirectoryIndex first.html index.htm index.html index.php
这里服务器将从左到右检查文件并使用第一个可用的文件
所以我猜你的配置应该是
DirectoryIndex index.php index.html
因为你希望在目录中找到index.php
时给予更多的优先级
使用重定向:
您可以使用Redirect
指令(Mod_Alias)。 编辑.htaccess
文件并添加以下行:
Redirect permanent "/index.html" "/cart/index.php"
或者您可以使用RedirectPermanent
指令。 编辑.htaccess
文件并添加以下行:
RedirectPermanent "/index.html" "/cart/index.php"
使用重写引擎:
您可以使用Mod_Rewrite来实现与上面相同的结果。 编辑.htaccess
文件并添加以下行:
Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} !cart RewriteRule "^$" "/cart/index.php$1" [R=301,L]
关于Mod_Rewrite的进一步阅读: [1] ; [2] ; [3] 。
智能重定向,使用PHP:
编辑.htaccess
文件并添加以下行:
# Obliterate previous DirectoryIndex order: DirectoryIndex disabled # Create new DirectoryIndex order: DirectoryIndex site-condition.php index.php index.html
创建名为site-condition.php
PHP文件,该文件将根据此订单优先级将初始请求重定向到第一个现有文件:
-
/cart/index.php
-
/index.php
-
/index.html
site-condition.php
的内容可能如下所示:
Under construction! "; echo "Under construction!