Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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
.htaccess 显示404页面,仅重定向到www_.htaccess - Fatal编程技术网

.htaccess 显示404页面,仅重定向到www

.htaccess 显示404页面,仅重定向到www,.htaccess,.htaccess,我想更改404错误。我将404错误页面重定向到自定义页面,而没有重定向URL本身。这是有效的,请参见()。 我使用的是Google PageSpeed,它只在用户从www输入时才起作用。因此,我添加了一个重定向来添加一个www,这对我很有用 当我将它们组合起来时,问题就开始了()。它给出了以下错误: 永久移动 文档已移到此处(gincher.net/not.exist) 此外,在运行时遇到500内部服务器错误 正在尝试使用ErrorDocument来处理请求 这是我的HTACCESS代码: Re

我想更改404错误。我将404错误页面重定向到自定义页面,而没有重定向URL本身。这是有效的,请参见()。 我使用的是Google PageSpeed,它只在用户从
www
输入时才起作用。因此,我添加了一个重定向来添加一个
www
,这对我很有用

当我将它们组合起来时,问题就开始了()。它给出了以下错误:

永久移动

文档已移到此处(gincher.net/not.exist)

此外,在运行时遇到500内部服务器错误 正在尝试使用ErrorDocument来处理请求

这是我的HTACCESS代码:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^gincher.net$
RewriteRule (.*) http://www.gincher.net$1 [R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /error.php [L]

请指教

首先,您正在重新定义
ErrorDocument
的行为

你的规则

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /error.php [L]

ErrorDocument 404 /error.php
然后,您的第一条规则中仍然存在语法错误。
用此代码替换当前代码

ErrorDocument 404 /error.php
RewriteEngine On

RewriteCond %{HTTP_HOST} ^gincher\.net$ [NC]
RewriteRule ^(.*)$ http://www.gincher.net/$1 [R=301,L]
注意:您也可以在不硬编码域名的情况下编写相同的规则

ErrorDocument 404 /error.php
RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

在你的问题中,重定向到www意味着什么?你是说重定向到根域吗?例如:www.stackoverflow.com将是该网站的根。@john重定向到
www
意味着当你进入gincher.net时,它将把你重定向到www.gincher.net