如何301将所有不存在的页面重定向到主域?

时间:2016-08-09 12:34:16

标签: regex apache .htaccess mod-rewrite

我已经使用Google搜索,但大多数用途是当人们知道他们的网址时我想将所有可能导致404/503错误的网址重定向到主域名

最好htaccess,因为网站是html。

因此,任何不存在的页面domain.com/XXXX请求都应该重定向到main而不是给出错误,即:

未找到

在此服务器上找不到请求的URL / eafsdg。

3 个答案:

答案 0 :(得分:2)

要将所有不存在的请求和503请求重定向到newdomain,您可以使用

ErrorDocument 404 http://newdomain.com/
ErrorDocument 503 http://newdomain.com/

答案 1 :(得分:1)

在NGINX中它会是这样的:

注意:由于我使用并且我认为很多人使用NGINX作为代理服务器,如果位置是代理,这不会重定向坏页面,需要在实际服务器上配置,所以我最后在最终的Apache服务器上使用了starkeen的答案,但想到了NGINX的id共享。

error_page 404 /custom_404.html;
        location = /custom_404.html {
                root /usr/share/nginx/html;
                internal;
        }

error_page 404 /;
        location = / {
                root /usr/share/nginx/html;
                internal;
        }

https://www.digitalocean.com/community/tutorials/how-to-configure-nginx-to-use-custom-error-pages-on-ubuntu-14-04

答案 2 :(得分:0)

尝试使用此.htaccess代码将所有404页面重定向到主页:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . / [L,R=301]