Como o título sugere, quero que meus URLs sejam:
- Redirecionando para esquema HTTPS para todos os URLs
- Redirecionando Subdomínios para Arquivos Específicos
- Reescrevendo links amigáveis para consultas de URL
O que eu tenho até agora:
RewriteEngine On
# Handle Front Controller...
RewriteCond %{HTTP_HOST} ^api.(.*)
RewriteRule ^ api.php [L]
# Handle Front Controller...
RewriteCond %{HTTP_HOST} ^admin.(.*)
RewriteRule ^ admin.php [L]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ website.php [L]
Isso garante que, quando eu digitar: admin.localhost, o arquivo admin.php é carregado. O mesmo para api.localhost. O host local normal carrega o arquivo website.php. Não há problema aqui. Agora, como faço para implementar URLs amigáveis? E, quando se trata de https, eu sei que não é possível para localhost (ou talvez seja, eu não sei), mas eu tenho um site com SSL onde eu quero usar isso.
Respostas:
0 para resposta № 1Com um pouco de ajustes, cheguei a uma solução.
ATUALIZADO PARA REFLETIR MEUS COMENTÁRIOS:
RewriteEngine On
#Remove the comments below to enable enforcing HTTPS
#RewriteCond %{HTTPS} !=on
#RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Handle Front Controller...
RewriteCond %{HTTP_HOST} ^api.(.*)
RewriteRule ^(.*)$ api.php?url=$1 [QSA,L]
# Handle Front Controller...
RewriteCond %{HTTP_HOST} ^admin.(.*)
RewriteRule ^(.*)$ admin.php?url=$1 [QSA,L]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ website.php?url=$1 [QSA,L]