gpt4 book ai didi

index.php 的 .htaccess 重定向打破了 404 页面

转载 作者:行者123 更新时间:2023-12-04 20:01:29 25 4
gpt4 key购买 nike

我最近通过 .htaccess 设置了一个 index.php 重定向。这里的想法是消除当站点同时具有 index.php 和/(homapage)被索引时突然出现的重复内容问题。

这是我原来的.htaccess

Options -Indexes
ErrorDocument 403 /customerrors/403.html
ErrorDocument 401 /customerrors/401.html
ErrorDocument 400 /customerrors/400.html
ErrorDocument 500 /customerrors/500.html
ErrorDocument 404 /customerrors/404.html

非常基础。

我使用此处列出的技术将 index.php 重定向到/。

http://www.askapache.com/htaccess/redirect-index-blog-root.html

它也很好用。一个问题是,它破坏了 404 页面。

这是破坏 404 页面的修改后的 .htaccess。

RewriteEngine On
RewriteBase /
DirectoryIndex index.php
RewriteCond %{http_host} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://example.com/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Options -Indexes
ErrorDocument 403 /customerrors/403.html
ErrorDocument 401 /customerrors/401.html
ErrorDocument 400 /customerrors/400.html
ErrorDocument 500 /customerrors/500.html
ErrorDocument 404 /customerrors/404.html

因此,如果用户输入或访问 www.example.com/dafjkadbfda 而不是提供 404 页面,则 URL 保持不变(在本例中为损坏的)并切断 index.php 页面。

这又打开了另一个蠕虫 jar 头。所有这些损坏的页面都以重复的内容和元数据的形式出现。

是否有另一种方法来编写将考虑 404 页面的 .htacess 重定向?似乎这就是这里的冲突。

提前致谢。

最佳答案

.htaccess 的这一部分是“破坏”404 的部分:

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

您可以通过从 PHP 脚本发送 404 错误来解决问题:

if ($not_a_valid_page){
header("$_SERVER[SERVER_PROTOCOL] 404 Not Found");
readfile("./customerrors/404.html");
die();
}

关于index.php 的 .htaccess 重定向打破了 404 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13497481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com