我已决定将所有/dyanmic.php?UID=...页面都更改为/static/Name-From-DB.我已经读过,最好的方法是重定向,SEO明智,是实现301 .htacess重定向:
(http://www.tamingthebeast.net) - 正确的方式 - htaccess 301重定向:对于运行Apache的服务器上托管的网站,301重定向是最有效的蜘蛛/访客友好策略.
但是,由于我有数千个页面需要使用重定向,因此在.htacess文件中有数千个条目似乎效率很低:
redirect 301 /dynamid.php?UID=1 http://www.domain.com/static/Name-From-DB
redirect 301 /dynamid.php?UID=2 http://www.domain.com/static/Another-Name-From-DB
and so on...
Run Code Online (Sandbox Code Playgroud)
因此,似乎有效的方法是通过PHP页面,根据UID将标题设置为301重定向:
<?
Header( "HTTP/1.1 301 Moved Permanently" );
// Getting the page static name from the DB according to the UID
$result = mysql_query('SELECT Name FROM DB WHERE UID='$_GET["uid"]'');
$row=mysql_fetch_assoc($result);
// Redirect to the new page
Header( "Location: http://www.domain.com/static/" . $row[0] );
?>
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果这种方法对我的网页排名产生负面影响,考虑到我上面引用的段落,重定向的最佳方式是通过.htaccess.
谢谢!
dre*_*rew 10
无论您采用哪种方式,相同的标题都将以相同的方式发送.因此,对于用户(或搜索引擎),它将没有任何不同,因此与.htaccess方式相比,PHP不会对您的页面排名产生负面影响.
每次访问页面时,PHP方式都会慢一点,数据库查询会被触发.如果网站没有太多流量进入这些网页,它应该不是问题.
在PHP页面中,首先进行数据库连接,因为如果页面不存在,您将需要将它们重定向到另一个页面或传递404错误标题而不是301标题.