Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在不更改url的情况下将所有页面请求重定向到一个页面_Php_Apache_.htaccess_Mod Rewrite_Redirect - Fatal编程技术网

Php 如何在不更改url的情况下将所有页面请求重定向到一个页面

Php 如何在不更改url的情况下将所有页面请求重定向到一个页面,php,apache,.htaccess,mod-rewrite,redirect,Php,Apache,.htaccess,Mod Rewrite,Redirect,我想将我网站上的所有页面(包括索引)重定向到UnderWork.html 我正在使用.htaccess和以下代码执行此操作: RewriteEngine on RewriteRule ^(.*)$ UnderWork.html …而且效果很好。 现在我在我的.htaccess中添加了一些代码,以将所有流量重定向到非www域,现在我的代码如下所示: RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.domain\.in RewriteRule ^(.

我想将我网站上的所有页面(包括索引)重定向到
UnderWork.html
我正在使用
.htaccess
和以下代码执行此操作:

RewriteEngine on
RewriteRule ^(.*)$ UnderWork.html
…而且效果很好。 现在我在我的
.htaccess
中添加了一些代码,以将所有流量重定向到非www域,现在我的代码如下所示:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.domain\.in
RewriteRule ^(.*)$ http://domain.in$1 [R=permanent,L]
RewriteRule ^(.*)$ UnderWork.html
这就是我的问题所在。如果我输入一个类似于:
domain.in/xyz
的URL,那么它会像以前一样工作,但是如果我使用类似于:
www.domain.in/xyz
的URL,那么Apache会将其转换为
coincart.inxyz/


我做错了什么?我怎样才能得到我想要的?提前谢谢

以下是适用于我的规则:

RewriteEngine On

# Adding trailing slash for directory requests.
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_URI} !^/www$
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.+[^/])$ http://example.com/$1/ [R=permanent]

# External redirection from www subdomain to non-www domain.
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^/?(.*) http://example.com/$1 [L,R=permanent]

# Internal redirection to index.php for nonexistent URLs.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !\.(jpg|jpeg|png|gif)$
RewriteRule . /index.php [L,QSA]
要在请求目录根(特别是域根)时显示自定义页面,请使用Apache的
DirectoryIndex
指令:

DirectoryIndex UnderWork.html

塔克斯。我要试试这个。谢谢。这个很好用。但是,如果我从服务器中删除index.html,那么UnderWork.html将显示响应代码(403禁止),您能解释一下吗?你对此有什么解决办法吗?@Rakesh我已经用如何指定自定义目录索引处理程序页面的信息更新了答案。Gr8 idea:)你节省了我的时间。。多谢各位