Я пытаюсь перенаправить foo.bar.com
на bar.com/foo.php
, но я понятия не имею, с чего начать, и все остальное мне не удалось. Я пробовал много вещей здесь, в StackOverflow, но ни один из них, похоже, вообще не работает (просто различные ошибки Apache).
У меня уже есть поддомен подстановки, созданный из cPanel, но я не совсем уверен, куда идти отсюда. Является ли.htaccess даже лучшим вариантом для этого?
EDIT: Я также хочу переписать URL-адрес с bar.com/foo.php
на foo.bar.com
.
Это общее правило можно использовать в файле DOCUMENT_ROOT/.htaccess
:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(?:www\.)?domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(?!www\.)([^.]+)\.(.+)$ [NC]
RewriteRule ^/?$ http://%2/%1.php [L,R=302]
EDIT: Чтобы скрыть переписанный URL (внутренняя переписывание), используйте это:
RewriteCond %{HTTP_HOST} !^(?:www\.)?domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(?!www\.)([^.]+)\.(.+)$ [NC]
RewriteRule ^/?$ %1.php [L]
bar.com/redirect.php?subdomain=foo
перенаправлялся на что-то вродеbar.com/redirect.php?subdomain=foo
, а затем делал это с помощьюPHP
и$_GET