dashboard.example.com/link1/* будет использоваться как link1.example.com/* всегда

Я пытался найти повсюду, но не нашел подходящего ответа. Я почти уверен, что это дубликат, но, пожалуйста, дайте мне правильный ответ.

Так что это мой случай. Проект находится по адресу dashboard.example.com/link1, и есть n других ссылок, таких как dashboard.example.com/link1/sub1, dashboard.example.com/link1/sub1/sub2 и так далее ... Но я хочу, чтобы он отображался в URL как link1.example.com/sub1, link1.example.com/sub1/sub2 и т. Д.

Я пробовал что-то подобное в .htaccess

RewriteCond %{HTTP_HOST} ^dashboard\.example\.com$
RewriteRule ^([^/.]+)(/.*)?$ http://$1.example.com$2 [L,R=301]

By при этом мне удалось выполнить перенаправление на link1.example.com Но да, в нем нет того содержимого проекта, которое я хотел ( dashboard.example.com/link1 )

Я также ранее пытался использовать прокси следующим образом, но безуспешно.

<VirtualHost *:80>
    ServerName link1.example.com
    ServerAdmin webmaster@localhost
    ProxyPreserveHost On
    ProxyPass / http://localhost/dashboard/
    ProxyPassReverse / http://localhost/dashboard/
</VirtualHost>

Я знаю, что я не просто там, Спасибо за попытку мне помочь.

2
задан 6 December 2017 в 07:56
1 ответ

Лучше всего добавить link1.example.com в качестве ServerAlias ​​к виртуальному хосту dashboard.example.com и правильно переписать URL-адреса, если заголовок хоста - link1.

RewriteCond %{HTTP_HOST} ^dashboard\.example\.com$
RewriteRule ^([^/.]+)(/.*)?$ http://$1.example.com$2 [L,R=301]

RewriteCond %{HTTP_HOST} ^link1\.example\.com$
RewriteRule ^(.*)$ /link1/$1 [L]

Что-то вроде этого. Я не тестировал его, но он должен работать.

0
ответ дан 3 December 2019 в 14:04

Теги

Похожие вопросы