我有这个重写模式:/blog/post-url-variable-ID,它工作正常。
Options +FollowSymlinks
RewriteEngine on
RewriteRule /blog/([a-zA-Z0-9\-]+)-([0-9]+) /post.php?url=$1&id=$2
由于 ID 是从 dba 中选择数据的决定性变量,我想通过手动重写 URL 来避免重复内容。
例如:由于ID而/blog/my-new-post-777
具有相同的内容。/blog/anything-written-here-777
所以我写了这段代码,它在本地运行完美,直接重定向到好的 URL。
<?php include("connect.php");
$result = mysqli_query($con,"SELECT * FROM blog WHERE id = ".($_GET['id']));
$data = mysqli_fetch_array($result);
if($data["url"]!=$_GET["url"]) {
header("Location: http://www.mywebsite.com/blog/".$data["url"]."-".$data["id"]);
}
?>
由于我将它转移到我的服务器,它不再工作。我还尝试通过 header:location 直接简化到主页,但它看起来不起作用。
我意识到当 header:location 位于页面的最顶部时,它可以正常工作。但由于 $variables 在它下面,它不能调用它们。
有任何想法吗 ?我现在很迷茫!