我如何在 php 中自动将网站从脏网址重定向到干净网址,例如
http://www.mysite.com?page=page1&action=action1
to
http://www.mysite.com/page1/action1
您必须检查它是否是干净的请求。
否则你会陷入无限循环
这是一个example来自我的一个项目:
.htaccess
RewriteEngine On
RewriteRule ^game/([0-9]+)/ /game.php?newid=$1
game.php
if (isset($_GET['id'])) {
$row = dbgetrow("SELECT * FROM games WHERE id = %s",$_GET['id']);
if ($row) {
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: /game/".$row['id']."/".seo_title($row['name']));
} else {
Header( "HTTP/1.1 404 Not found" );
}
exit;
}
if (isset($_GET['newid'])) $_GET['id'] = $_GET['newid'];
因此,您必须验证它是直接“脏”调用还是重写调用。
然后仅重定向前一个。
您还需要一些代码来构建干净的网址。
另外,在 url 错误的情况下显示 404 而不是重定向也非常重要。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)