我需要有关如何将大量页面重定向到根页面(/)的想法。我目前正在为每个页面请求使用此代码来检查是否需要重定向。
switch ($url) {
case '/test.htm':
case '/test2.htm':
....
....
....
$redirect='/'; break;
}
然后我将使用301重定向来重定向页面。
但是这种方法的问题在于我有超过1000个网址,并且将使用该列表中的所有1000个网址检查当前页面,这既耗费时间又耗费资源。有更好的方法吗?
答案 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
}