Перенаправить определенный URL на другой URL в другом поддомене - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть 5 URL-адресов на веб-сайте субдомена http://subdomain.example.com, и я хочу, чтобы они перенаправили на 5 других URL-адресов на моем основном веб-сайте, https://www.example.com/.

Важно: URL-адреса НЕ имеют одинаковую структуру!

Пример:

  1. http://subdomain.example.com/url1 следует перенаправить на https://www.example.com/ipsum

  2. http://subdomain.example.com/url2 следует перенаправить на https://www.example.com/lorem

  3. и т.д.

Как я могу справиться с этим?

UPDATE:

Существует папка play (имя субдомена), которая содержит файлы веб-сайта субдомена, и папка htdocs, которая содержит файлы веб-сайта www.

Вот файл .htaccess в моей папке play:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule> 

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018
0 голосов
/ 07 ноября 2018

Поскольку у субдомена есть собственный файл .htaccess, вам не нужно указывать имя хоста как часть перенаправления. И поскольку у вас уже есть директивы mod_rewrite в файле .htaccess субдомена, вы также должны использовать mod_rewrite для этих перенаправлений (чтобы избежать конфликтов). В противном случае вам нужно будет указать эти перенаправления по одному.

Попробуйте выполнить следующее в верхней части файла /play/.htaccess вашего субдомена. Обратите внимание, что это должно идти перед существующими директивами в файле.

# Specific redirects
RewriteRule ^url1$ https://www.example.com/ipsum [R=302,L]
RewriteRule ^url2$ https://www.example.com/lorem [R=302,L]

Вышеуказанное будет соответствовать запросу на http://subdomain.example.com/url1 и соответственно перенаправлять и т. Д.

Обратите внимание, что шаблон RewriteRule (регулярное выражение) не начинается с косой черты при использовании в контексте для каждого каталога (.htaccess).

Обратите внимание, что это 302 (временные) перенаправления. Измените их на 301 (постоянный) - если это является намерением - только после подтверждения того, что они работают нормально (во избежание проблем с кэшированием).

...