在请求根目录时,域掩码的htaccess重定向无效

时间:2015-03-27 17:56:46

标签: php apache .htaccess mod-rewrite redirect

需要有关使用.htaccess实现重定向+域屏蔽的帮助。它部分工作。它适用于子页面和子目录,但不适用于域本身。

我有两个域名" redir1"和" redir2"。 目标是使用.htaccess实现重定向并屏蔽,如下所示:

http://redir2 —> http://redir1
http://redir2/sub.php —> http://redir1/sub.php
http://redir2/index.php —> http://redir1/index.php

显示给访问者的网址必须保留他们输入的内容:

http://redir2
http://redir2/sub.php
http://redir2/index.php

但如果他们输入http://redir1,他们应该在网址中看到http://redir1

每个域都有以下两个文件:     的index.php     sub.php

以下是.htaccess中的代码:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^(www\.)?redir2$ [NC]
RewriteRule ^ http://redir1%{REQUEST_URI} [L,NE,P]

对于域后(子页面和子目录)之后的所有请求,它都能很好地工作。例如:

http://redir2/sub.php
http://redir2/index.php

但是,如果我只输入http://redir2/,我会得到一个"未找到"错误:

The requested URL /index.html was not found on this server.

确实我没有index.html,但我有index.php 如何在不添加index.html的情况下解决问题?

由于

1 个答案:

答案 0 :(得分:0)

也许使用DirectoryIndex index.php