2016-02-12 2 views
1

Я пытаюсь перенаправить все файлы в папку в другую папку с помощью htaccess. Каждый файл может содержать или не содержать строку запроса. И эта строка запроса может отличаться.Перенаправить все файлы в папку в другую папку - сохранить запросы неповрежденными

Пример:

должен перенаправлять:

(Имена папок "статьи" во множественном числе стали "статьи" единственном числе.)

Это кажется довольно простой, что нужно сделать без строки запроса например

RewriteRule ^articles/(.*)$ /article/$1 [L,NC] 

... но, видимо, я должен использовать «RewriteCond» при работе со строками запроса, и я не могу найти в Интернете пример того, как пересылать из одной папки в другую, сохраняя любые/все строки запросов неповрежденными.

Я думаю, что там должно быть условие согласования любой и все строки запроса, например:

RewriteCond %{QUERY_STRING} . 

... но потом рассыпается, потому что это, конечно, не работает:

RewriteRule ^$ www.example.com/articles/$1 [QSA,R,L] 

ответ

1

Вы можете использовать следующее Перенаправление:

RedirectMatch 302 ^/articles/(.+)$ /article/$1 
+1

Это прекрасно работает, спасибо! Я сделал это 301, потому что это постоянная переадресация с устаревших страниц, и она все еще работает нормально. Еще раз спасибо. – tvsmvp

Смежные вопросы