Поддомены на .htaccess

Q_BASIC

Хранитель порядка
Регистрация
30 Ноя 2013
Сообщения
516
Реакции
1.240
У меня поддомены работают так:
Код:
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.domain\.ru$
RewriteCond %{HTTP_HOST} (www\.)?(.*)\.domain\.ru$
RewriteCond %{REQUEST_URI} !sub/
RewriteRule ^(.*)$ sub/%2/$1

И открыть можно так: Для просмотра ссылки Войди или Зарегистрируйся и так: Для просмотра ссылки Войди или Зарегистрируйся

Мне надо сделать редирект с кодом HTTP 301 с Для просмотра ссылки Войди или Зарегистрируйся на Для просмотра ссылки Войди или Зарегистрируйся
 
На php такой редирект делать не разумно, в силу снижения производительности, но как-то так возможно:
PHP:
if (strpos($_SERVER["REQUEST_URI"], '/sub/') === 0) {
  $sub = substr($_SERVER["REQUEST_URI"], 4, strpos($_SERVER["REQUEST_URI"], '.') - 4);
}
if (!empty($sub)) {
  header("Location: {$sub}.сайт.ру", TRUE, 301);
}
для UTF доменов (русскоязычных могут быть в их числе) возможно потребуется добавить префикс mb_ перед всеми вызовами substr и strpos.


PS: Этот код можно написать 2-3 строчками через регулярки - дерзайте ;)
 
Назад
Сверху