Перенаправление htaccess 301 с помощью mod_rewrite - PullRequest
0 голосов
/ 31 января 2012

Я видел множество примеров htaccess и генераторов, чтобы переписать URL, однако мне нужно добавить перенаправление 301 для веб-приложения, которое раньше было на поддомене, но теперь находится в каталоге, его также перенесли из .asptp .php

базовый редирект

http://sub.domain.com/twforum/forum.asp?FORUM_ID= 

перенаправляет на

http://domain.com/forum/viewforum.php?f=

эту часть я могу сделать, но я не знаю, как обрабатывать идентификатор (форумid), который будет передан в url, я НЕ хочу, чтобы id форума переписывался на дружественный URL, просто для того, чтобы он был перенесен / перенаправлен

Я предполагаю, что мне нужно mod_rewrite часть запроса.

вот что я получил

RewriteEngine On
RewriteCond %{QUERY_STRING} ^http://sub.domain.com/twforum/forum.asp?FORUM_ID=1$ [NC]
RewriteRule http://domain.com/forum/viewforum.php\?f=1$ [L,R=301]

кто-нибудь может увидеть какие-либо явные ошибки или узнать о лучшем способе?

спасибо

1 Ответ

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

%{QUERY_STRING} не содержит весь URL.Просто часть установки запроса.например, FORUM_ID=1

Предполагая, что ваши идентификаторы Fourum - это просто цифры.

RewriteEngine On
RewriteCond %{QUERY_STRING} FORUM_ID=(\d+)$ [NC]
RewriteRule ^ http://domain.com/forum/viewforum.php\?f=%1$ [L,R=301]
...