Назад | Перейти на главную страницу

Что я делаю не так, используя Mod_rewrite для перезаписи всех запросов с поддоменами?

Я пытаюсь сделать так, чтобы все запросы, использующие поддомен, переписывались таким образом, чтобы они отправлялись на сервер как «обычный» запрос без поддомена. Я создал приведенный ниже код mod_rewrite, но, похоже, он не работает. Любые советы высоко ценится.

Options +FollowSymlinks
RewriteEngine on
RewriteRule (.*?).mydomain.com/(.*) http://mydomain.com/$2

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

http://subdomain.mydomain.com/$2

(где $ 2 - это путь, который они изначально ввели в адресной строке)

http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriterule

Первоначально шаблон будет сопоставляться с частью URL-адреса после имени хоста и порта, но перед строкой запроса. Если вы хотите сопоставить имя хоста, порт или строку запроса, используйте RewriteCond с переменными% {HTTP_HOST},% {SERVER_PORT} или% {QUERY_STRING} соответственно.

другими словами, просто потеряйте хост и все готово

RewriteCond %{REMOTE_HOST} ! mydomain.com  # prevents loops
RewriteRule /(.*) http://mydomain.com/$2