.htaccess使用GET参数重定向

Ell*_*hir 5 php apache .htaccess mod-rewrite redirect

我已经检查了很多与.htaccess重定向有关的答案,但是却无法阐明我的问题:

我有一个旧网站,博客条目的地址如下:

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

现在,我还有一个新网站,网址为“ nice urls”,可以使用以下命令找到博客条目:

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

我想“关闭”旧页面,并将所有旧链接重定向到新站点。如何捕获旧网址并将其转移到新网址?我仍然无法弄清楚必要的.htaccess代码:(

sta*_*een 5

尝试这个 :

RewriteEngine on


RewriteCond %{QUERY_STRING} ^page=([^&]+)&id=([^&]+)$ [NC]
RewriteRule ^index\.php$ http://alois-seckar.cz/politics-%1/%2? [NC,L,R]
Run Code Online (Sandbox Code Playgroud)

末尾的空问号对于丢弃目标 URL 中的原始查询字符串非常重要。

%n 是 RewriteCond 中正则表达式的一部分,它是 ([ 和 ]+) 之间匹配的部分。

该规则将重定向

example.com/index.php?page=foo&id=bar
Run Code Online (Sandbox Code Playgroud)

example2.com/politics-foo/bar
Run Code Online (Sandbox Code Playgroud)