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:)你节省了我的时间。。多谢各位