.htaccess перенаправить субдомен в php файл без изменения URL-адреса в браузере

Помоги мне, пожалуйста.

У меня есть несколько php файлов в корне

domain.com/dog.php
domain.com/cat.php
...

Когда пользователь перейдет на сайт dog.domain.com, мне нужно показать domain.com/dog.php, но сохраните dog.domain.com в URL-адресе браузера

У меня уже есть этот.htaccess:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*).domain.com$
RewriteRule .* http://domain.com/%1.php [L]

Он отлично работает и показывает содержимое domain.com/dog.php, когда я набираю dog.domain.com, но теперь он изменяет URL в браузере на domain.com/dog.php

Как его решить?

PS Учетная запись DNS подстановок включена (уже поймать все поддомены *.domain.com)

1 ответ

Если *.domain.com определен внутри одного и того же vhost, вы должны использовать относительный RewriteRule: RewriteRule ^.*$/%1.php [L]). Если нет, вы должны заменить [L] на [P] и убедиться, что вы загрузили mod_proxy. См. Https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html.

И последнее, но не менее важное: вы можете обновить RewriteCond без RewriteCond %{HTTP_HOST} ^(.*).domain.com$ [NC] регистра: RewriteCond %{HTTP_HOST} ^(.*).domain.com$ [NC]

licensed under cc by-sa 3.0 with attribution.