微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Apache .htaccess 404错误redirect

我试图做一个htaccess文件,将通过index.PHPredirect所有404错误。 我想用户无法访问的页面附加到index.PHP的URL,以便我可以找出哪些页面请求失败。

例如,如果他们尝试访问http://example.com/doesntexist.PHP ,则apache应将其redirect到http://example.com/index.PHP/doesntexist

这是我的:

RewriteCond %{REQUEST_FILENAME} !-l RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule .* index.PHP?%{QUERY_STRING} [L]

这工作在我的一个网站主机,但失败时,我把网站转移到另一个networking主机(GoDaddy)。

如何只允许一个用户代理.htaccess?

将旧域的所有请求redirect到新域

URL重写在Nginx中不起作用

删除CodeIgniter_2.1.4中的index.PHP

如何删除* .PHP,index.PHP和从ulrs,#ancors和?htaccess查询中的尾部斜杠

多谢你们

.htaccess仅针对特定目录重写条件结尾斜杠

如何使用Apache / mod_rewrite基于Accept-Language进行redirect

强制非WWW,但强制所有的wordpress和整个域的HTTPS

.htaccess 301redirect不工作?

htaccess将别名redirect到主域

我现在不能测试这个,但根据这个答案 ,当你设置一个

ErrorDocument /404.PHP

(或者index.PHP,无所谓)

$_SERVER["REQUEST_URI"]变量将包含原始的,失败的请求。

从直接的解决方案,因为这阻止了适当的ErrorDocument重定向工作的一个旁注。 希望这可以作为偶然发现与我一样的错误的任何人的参考。

我创建了一个.htaccess并放置

ErrorDocument 404 /Error/404.html

但是,重定向不会工作,而是显示认的“未找到”页面

问题实际上在于apache2.conf(或httpd.conf)中的设置。

删除下面的线立即解决了这个问题

AllowOverride None

禁止.htaccess覆盖认设置。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐