mod_rewrite 2 переменные, но для вывода нужна только 1 - PullRequest
1 голос
/ 27 января 2012

Я хочу перенаправить посетителей, которые попадают на мои старые URL-адреса форума phpbb, в мою новую структуру URL.
http://mydomain.com/phpbb/viewtopic.php?f=$var1&t=$var2 (f = $ var1, t = $ var2 - целые числа)
до
http://mydomain.com/topic/$var2

Мой код .htaccess mod_rewrite:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^phpbb/viewtopic\.php\?f=\d+&t=(\d+)$ topic/$2 [L]
</IfModule>

Но это не работает.Как я могу изменить код, чтобы он работал?

Ответы [ 2 ]

1 голос
/ 27 января 2012

Добавьте следующее в .htaccess в корневой папке вашего сайта.

RewriteEngine on
RewriteBase /

#place these two lines before any other rules in your .htacess
RewriteCond %{QUERY_STRING} (^|&)t=([0-9]+)(&|$) [NC]
RewriteRule ^phpbb/viewtopic\.php$ /topic/%2? [L,R,NC] 
0 голосов
/ 27 января 2012
RewriteEngine on
RewriteBase   /
RewriteCond   %{QUERY_STRING}        \bt=([0-9]+)
RewriteRule   ^phpbb/viewtopic\.php  topic/%1?    [R=301,NC,L]
...