Я хочу перенаправить [abc] .apps.example.com на следующий apps.example.com/[abc], но все еще показываю использование [abc] .apps.example.com в URL.
[abc] может быть что угодно, например.
calendar.apps.example.com
books.apps.example.com
и т.д.
Немного покопавшись и подправив, у меня есть следующая настройка, но она не работает, если отсутствует косая черта:
RewriteEngine On
RewriteBase /
# Fix missing trailing slashes.
RewriteCond %{HTTP_HOST} !^www\.apps\.example\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.apps\.example\.com$ [NC]
RewriteCond %{DOCUMENT_ROOT}/%2%{REQUEST_URI}/ -d
RewriteRule [^/]$ %{REQUEST_URI}/ [R=301,L]
# Rewrite sub domains.
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} !^www\.apps\.example\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.apps\.example\.com$ [NC]
RewriteRule ^.*$ /%2/$0 [QSA,L]
Когда введено следующее:
calendar.apps.example.com/showcalendar/
он правильно перенаправлен на: apps.example.com/calendar/showcalendar/
Но когда отсутствует косая черта
calendar.apps.example.com/showcalendar
Я получаю 404 сообщение об ошибке / calendar / calendar / showcalendar / not found.
Пожалуйста, если вы знаете, что не так с приведенным выше кодом или у вас есть лучшее решение, сообщите мне.
Приветствия,
Doggy