На этот вопрос уже есть ответ:
Мне нужно перенаправить:
example.com/wiki/?t=1234
на
example.com/vb/showthread.php?t=1234
Числа «1234» - это сотни страниц с разными номерами
, которые я пробую. htaccess, но не работает:
RewriteCond %{QUERY_STRING} t=[0-9]
RewriteRule ^(.*)$ /vb/showthread.php?t=$1 [L]
RewriteCond% {QUERY_STRING} t = [0-9] RewriteRule ^ (. *) $ /Vb/showthread.php?t=$1 [L]
Это будет соответствовать запросу, но не будет выполнять перенаправление должным образом ( $ 1
- это обратная ссылка на захваченную группу в шаблоне RewriteRule
, а не строку запроса). Это также внутренняя перезапись , а не «перенаправление», как указано.
На перенаправление / wiki /? T = 1234
на / vb / showthread.php? t = 1234
, где 1234
- переменная, тогда вам следует сделать что-то вроде следующего:
RewriteCond %{QUERY_STRING} ^t=(\d+)
RewriteRule ^wiki/$ /vb/showthread.php?t=%1 [R=302,L]
Это соответствует URL-пути / wiki /
и строка запроса, начинающаяся с t =
, за которой следует 1 или более цифр. Цифры фиксируются регулярным выражением (\ d +)
.
Обратная ссылка % 1
(обратите внимание на %
, а не $
] ) - это обратная ссылка на захваченную группу в предыдущем CondPattern .
Обратите внимание, что это 302 (временное) перенаправление. Но не меняйте это, пока не убедитесь, что все работает нормально.