2015-12-12 27 views
2

我已经查了很多为.htaccess重定向相关答案重定向,但我却无法阐述我的问题:的.htaccess使用GET参数

我有一个旧的网站,博客条目解决这样的:

http://ellrohir.mzf.cz/index.php?page=blog&id=77

现在我也有“好网址”的新网站,可以使用发现博客条目:

http://alois-seckar.cz/politics-blog/77

我想“关闭”旧页面并将任何旧链接重定向到新网站。如何捕捉旧网址并将其传送到新网址?我仍然想不通必要的.htaccess代码了:(

+0

可能重复[.htaccess URL重定向](http://stackoverflow.com/questions/3374696/htaccess-url-redirect) – Drenmi

回答

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

非常感谢,男人!这就是它:) – Ellrohir

0

我不擅长的.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); 
?> 
0

可以重定向到使用.htaccess

其他网站
RewriteEngine on 
RewriteRule ^/index.php?page=blog&id=(.*)?$ http://example.com /politics-blog/$1 [R=301,L] 
+0

对我来说,这一个没有做任何事情:( – Ellrohir