2014-01-08 3 views
2

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

Это текущая структура ссылка:

http://example.com/video-slug/wordpress-title-of-the-video-slug

У меня есть субдомен:

http://tv.example.com/

Что я хочу достичь, когда кто-то нажимает:

http://tv.example.com/wordpress-title-of-the-video-slug

Он выясняет, что tv.example.com равно example.com/video и открывает ссылку:

http://example.com/video/wordpress-title-of-the-video-slug, но сохраняет структуру в адресной строке:

http://tv.example.com/wordpress-title-of-the-video-slug

+0

htaccess - это путь! –

+0

Вы хотите переписать, а не перенаправить. –

+0

Я благодарен за то, что я заметил, что я отметил здесь .htaccess, поэтому люди предполагают, что я знаю, куда идти, НО мне нужна помощь в кодировании, поскольку мое знание .htaccess равно 1 градусу по шкале Кельвина. – Dino

ответ

1

Вам нужно правило перезаписи в ваш файл .htaccess. Из памяти что-то вроде этого должно работать.

RewriteEngine on 
RewriteRule ^(.*)$ http://example.com/video/$1 [NC] 

Размещенные в tv подобласти.

+0

Он отправляет все на 'example.com/video', поэтому' tv.example.com/video- title-slug' идет так же, как 'tv.example.com' – Dino

+0

А, извините, см. править. Я думаю, что это должно сработать. –

+0

Отлично, он перенаправляет сейчас, теперь есть способ сохранить его в строке местоположения, как есть; теперь, когда я набираю 'tv.example.com/video-title', он открывает' example.com/video/video-title', но также меняет его в строке местоположения, чтобы заставить его оставаться 'tv.example.com/видео-title'? – Dino

0

Я думаю, что это простой способ использования PHP:

<?php 
//add some params 
$_GET['param1'] = value1; 
//the actual page you wish to redirect to 
include "/var/www/page.php"; 

?> 
1

Более общее решение, которое относится к вашему вопросу. Он позволяет любому http://subdomain.example.com/ обслуживать контент, расположенный по адресу http://example.com/subdomain/, сохраняя исходный URL (с субдоменом).

Опция P (для прокси-сервера) служит этой цели (сохранить оригинальный URL в адресной строке), и отвечает на вопрос, заданный в комментариях, принятых ответов (я не могу комментировать обратно Тхо ..)

RewriteEngine on 
RewriteBase/
RewriteCond %{HTTP_HOST} ^(.*)\.example\.com [NC] 
RewriteRule ^(.*)$ http://example.com/%1/$1 [L,P] 

для вашего конкретного случая было бы

RewriteEngine on 
RewriteBase/
RewriteCond %{HTTP_HOST} ^tv\.example\.com [NC] 
RewriteRule ^(.*)$ http://example.com/video/$1 [L,P] 

недостаток я столкнулся в настоящее время является то, что PHP $ _SERVER URI установлен в переведенной URL не оригинал. Но это еще одна проблема :)

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