2012-01-26 1 views
1

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

Мой .htaccess код mod_rewrite:

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

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

ответ

1

Добавьте следующее в .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

Спасибо, это работает! Но небольшая ошибка (не беспокоит меня), добавляет? F = 4 & t = 517 в конце URL (http://mydomain.com/topic/517?f=4&t=517) – ProximityEffect

+1

@ProximityEffect добавить '?' для управления, как указано выше, для удаления строки запроса –

+0

отлично! еще раз спасибо! – ProximityEffect

0
RewriteEngine on 
RewriteBase /
RewriteCond %{QUERY_STRING}  \bt=([0-9]+) 
RewriteRule ^phpbb/viewtopic\.php topic/%1? [R=301,NC,L] 
Смежные вопросы