我已经检查了很多与.htaccess重定向有关的答案,但是我无法详细说明我的问题:
我有一个旧网站,其博客条目如下:
http://ellrohir.mzf.cz/index.php?page=blog&id=77
现在我还有一个新网站,其中包含“精美网址”,可以使用以下网址找到博客条目:
http://alois-seckar.cz/politics-blog/77
我想“关闭”旧网页并将旧链接重定向到新网站。如何捕获旧网址并将其转移到新网址?我仍然无法找到必要的.htaccess代码:(
答案 0 :(得分:2)
试试这个:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^page=([^&]+)&id=([^&]+)$ [NC]
RewriteRule ^index\.php$ http://alois-seckar.cz/politics-%1/%2? [NC,L,R]
最后的空问号对于丢弃目标网址中的原始查询字符串非常重要。
%n是RewriteCond中正则表达式的一部分,它是([和] +)之间匹配的部分。
此规则将重定向
example.com/index.php?page=foo&id=bar
到
example2.com/politics-foo/bar
答案 1 :(得分:0)
您可以使用.htaccess
RewriteEngine on
RewriteRule ^/index.php?page=blog&id=(.*)?$ http://example.com /politics-blog/$1 [R=301,L]
答案 2 :(得分:-2)
我不擅长.htaccess,所以这是我的php解决方案:
<强>的index.php 强>
<?php
$header="location: http://alois-seckar.cz";
if((isset($_GET["page"]))&&(isset($_GET["id"])))
{
$header.="/".$_GET["page"]."/".$GET["id"];
}
header($header);
?>