Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.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
Php 如何将网站上不存在的链接重定向回主页_Php_Html_Redirect - Fatal编程技术网

Php 如何将网站上不存在的链接重定向回主页

Php 如何将网站上不存在的链接重定向回主页,php,html,redirect,Php,Html,Redirect,我的问题是如何将我网站上不存在的链接重定向回主页。例如想象一下,我的网站上有一个名为“宠物”的页面(http://mywebsite.com/pets)如果用户无意中输入,我希望用户被重定向到主页。有人知道怎么做吗?谢谢。在.htaccess文件中设置错误文档404/index.html为404页面配置javascript重定向。 确保它是定时的,以便访问者可以看到发生了什么。您可以使用mod\u rewrite RewriteEngine on RewriteCond %{REQUEST_FI

我的问题是如何将我网站上不存在的链接重定向回主页。例如想象一下,我的网站上有一个名为“宠物”的页面(http://mywebsite.com/pets)如果用户无意中输入,我希望用户被重定向到主页。有人知道怎么做吗?谢谢。

在.htaccess文件中设置
错误文档404/index.html

为404页面配置javascript重定向。
确保它是定时的,以便访问者可以看到发生了什么。

您可以使用
mod\u rewrite

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php [R]

使用mod_rewrite,您可以处理404(找不到页面),如下所示:

RewriteEngine on
Options +FollowSymlinks -MultiViews

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule . / [L]

这将保留浏览器中的原始链接,但会显示您的主页。

页面
pets
是否为现有文件?执行此操作时,请不要更改他们在地址栏中输入的地址。如果他们在你的网站上为一个实际页面打了一个很小的打字错误,那么他们就可以很容易地纠正这个错误,而不必再次全部输入。我甚至不会显示主页。一个不错的错误页面,解释它是404,并且包含一个到主页的链接更好(“为什么显示主页?我输入了‘宠物’!!”)。更好的是,从URI中提取关键词,执行搜索并在错误下显示结果。我如何才能保留原始的输入错误链接,使其仍然出现在URL中?谢谢您的回答!:)我已经实现了它,它工作得非常好!除非定义了相应的
RewriteBase
,否则这将导致无效重定向。它还公开了索引文档,这可能是不需要的。(尽管在这种情况下,外部重定向可能不是正确的做法。)