在PHP中重定向页面的最简单方法

时间:2015-12-04 06:45:38

标签: php

我需要有关如何将大量页面重定向到根页面(/)的想法。我目前正在为每个页面请求使用此代码来检查是否需要重定向。

switch ($url) {
 case '/test.htm':
 case '/test2.htm':
 ....
 ....
 ....
     $redirect='/'; break;
}

然后我将使用301重定向来重定向页面。

但是这种方法的问题在于我有超过1000个网址,并且将使用该列表中的所有1000个网址检查当前页面,这既耗费时间又耗费资源。有更好的方法吗?

4 个答案:

答案 0 :(得分:1)

您可以使用.htaccess方法: 首先创建.htaccess文件并添加301重定向规则,如

Redirect 301 /oldpage.php http://www.example.com/rootpage.php

或者您也可以根据网址的模式检查进行重定向。完整代码如下:

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

有关详细信息,请参阅http://www.webweaver.nu/html-tips/web-redirection.shtml

答案 1 :(得分:0)

创建页面test1.htm.php等(每个要重定向的网址一个)自己进行重定向?

答案 2 :(得分:0)

创建一个需要重定向的CASES数组。验证数组中的值,如果数组中存在该值,则不重定向其他值。

这样,在添加新的URL以进行重定向时,您不需要添加新的检查。

您可以使用in_array来查找网址是否在数组中。 有关in_array结帐的详细信息:http://php.net/manual/en/function.in-array.php

答案 3 :(得分:0)

您可以通过逗号分隔将网址列表存储在一个变量中并执行此类检查

if((strpos($list_of_urls,$url) !== false))
{
     //Code to redirect
}