301 htaccess перенаправить динамическую помощь URL необходима - PullRequest
0 голосов
/ 29 марта 2011

Я пытаюсь перенаправить

ч http://www.website.net/forum/index.php?showtopic=12345

на

ч http://www.website.ORG/forum/t12345

12345 как идентификатор динамической темы

Мне также нужно удалить любую информацию, если она найдена после идентификатора темы, например

h http://www.website.net/forum/index.php?showtopic=12345&view=getlastpost

Я хочу & view = getlastpost илилюбой аналог, который может появиться после идентификационного номера, от которого нужно избавиться.

Я пробовал

RewriteCond% {QUERY_STRING} ^ (([^ &] &) ) showtopic = ([^ &] +) &? (. *)? $ RewriteRule ^ index.php $ http://www.website.org/forum/t%3?%1%4/ [L, R = 301]

, но это не сработало,Я получаю мусор в URL.

hhttp://www.website.org/forum/index.php?showtopic=29294&view=getlastpost (when that link is clicked - the result is hhttp://www.website.net/forum/t29294?view=getlastpost/)

hhttp://www.website.org/forum/index.php?showtopic=29029 (when that link is clicked - the result is hhttp://www.website.net/forum/t29029?/).

Как я могу очистить его?

1 Ответ

0 голосов
/ 29 марта 2011

$ 2 означает, что есть две области в скобках, но я вижу только одну в вашем правиле, поэтому изменил это значение на $ 1.

Также ваш URL начинается с / forum /, поэтому необходимо включить его в правило.

И.в index.php необходимо экранировать, если вы не хотите, чтобы он обрабатывался как специальный символ регулярного выражения.

И если вы хотите что-то исключить после showtopic = 1234, просто удалите $, указывающий конецстрока

RewriteRule ^forum/index\.php?showtopic=([0-9]*) http://www.website.org/forum/t$1/ [L,R=301]
...