我想将所有不可用的链接重定向到error.php页面
这就是我想要的
如果有人输入了不存在的链接,那么我想将其重定向到我的错误页面而不是webhost的404错误页面
www.example.com/wrong_page.php
应重定向到
www.example.com/error.php
答案 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