2015-04-22 3 views
0

Я новичок. Не могли ли вы помочь мне, пожалуйста? Моя проблема: Если кто-то идет на мой сайт, как этот https://www.pinf.sk/_sub/AAAAA/foo/bar/rrr.php?ggg=123, я хочу, чтобы перенаправить его http://AAAAA.pinf.sk/foo/bar/rrr.php?ggg=123.htaccess перенаправление из поддомена в поддомен

Как я могу это сделать? (Он должен быть динамичным, а также работать с/_sub/BBBB или/_sub/QWERTY)

ответ

1

Добавьте следующий mod_rewrite правила в вашем .htaccess:

RewriteRule ^\_sub\/([^\/]*)\/(.*) http://$1.pinf.sk/$2 [L,R=301,QSA] 

Ключ к Regex Pattern Match выше:

^ - Начало матча

\_sub - матч любой URI, начиная с _sub

\/([^\/]*)\/ - Запишите имя папки, которая сразу же следует за /_sub/.

N.B.[^\/]* означает

любой символ, который не/, любое количество раз.

Размещение этого в скобках фиксирует его.

\/(.*) - Захват всех символов, следующих за именем папки, только что снятой.

Ключ к mod_rewrite Флаги выше:

L - Последнее правило - не обрабатывать любые другие правила после этого один

R=301 - Сделать это постоянный Перенаправление (301)

QSA - Query String Append (то есть любые переменные следуют за символом? В исходном URI, включают ? и те же переменные в конце нового URI)

+0

Спасибо. Но есть проблема. Это циклично! Например: http://tv.pinf.sk/. Мой фактический HTAccess: (. *) RewriteEngine на RewriteBase/ RewriteCond% {HTTP_HOST}^pinf \ .sk [NC] RewriteRule^$ https://www.pinf.sk/$1 [L, R = 301, NC] RewriteCond% {REQUEST_FILENAME}! -f RewriteCond% {REQUEST_FILENAME}! -d RewriteCond% {REQUEST_FILENAME}! -l RewriteRule^(. *) $ index.php? страница = $ 1 [L, QSA] RewriteRule^\ _ sub \/([^ \ /] *) \/(. *) Http: //$1.pinf.sk/$2 [L, R = 301, QSA] ErrorDocument 404/www/p /i/u73214/public_html/404.php ErrorDocument 500 /www/p/i/u73214/public_html/500.php –

+0

Можете ли вы объяснить проблему более подробно, @ User3129342? Что вы имеете в виду, когда пишете «Это циклично!»? – Rounin

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