将不存在的URL重定向到错误页面

时间:2015-04-16 08:29:45

标签: php .htaccess mod-rewrite

我想将所有不可用的链接重定向到error.php页面

这就是我想要的

如果有人输入了不存在的链接,那么我想将其重定向到我的错误页面而不是webhost的404错误页面

 www.example.com/wrong_page.php 

应重定向到

 www.example.com/error.php 

5 个答案:

答案 0 :(得分:2)

您有2个选项可将错误的REQUEST_URI重定向到错误页面

1)内部重定向

您的网络服务器将在内部将错误的请求重定向到错误页面

WebRoot/.htaccess

中试试这个
 RewriteEngine on 
 RewriteBase / 
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ /error.php [NC,L]

2)外部重定向

您的网络服务器会将错误的请求从外部重定向到错误页面

或者在WebRoot/.htaccess

中试试
 RewriteEngine on 
 RewriteBase / 
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ http://example.com/error.php [R,NC,L]

重写条件检查请求的文件名是否不是目录或文件,然后RewriteRule会将其重定向到错误页面。

答案 1 :(得分:1)

您可以将此指令添加到.htaccess文件中:

ErrorDocument 404 /error.php 

答案 2 :(得分:0)

有很多类型的错误页面(只是google)。您可以使用.htaccess处理它们。例如

ErrorDocument 500 /errordocs/500.html

ErrorDocument 404 /errordocs/404.html

ErrorDocument 401 /errordocs/401.html

ErrorDocument 403 /errordocs/403.html

答案 3 :(得分:0)

您需要在.htaccess文件中进行设置。您可以使用.htaccess generator或只是将此行添加到新的.htaccess文件中:

//Custom 404 errors
ErrorDocument 404 error.php

除了错误页面之外,您可能还想禁用目录列表或更改目录的默认页面。尽管如此,还是使用了.htaccess文件。如果您不熟悉它,只需使用我提到的链接。

答案 4 :(得分:0)

这是我的.htaccess

<Files .htaccess>
order allow,deny
deny from all
</Files>

IndexIgnore */*

ErrorDocument 400 /err_400.php
ErrorDocument 401 /err_401.php
ErrorDocument 403 /err_403.php
ErrorDocument 404 /err_404.php
ErrorDocument 500 /err_500.php