/ / .htaccess reescrevendo regras para https, subdomínios e urls amigáveis ​​- php, .htaccess, mod-rewrite

.htaccess reescrevendo regras para https, subdomínios e urls amigáveis ​​- php, .htaccess, mod-rewrite

Como o título sugere, quero que meus URLs sejam:

  1. Redirecionando para esquema HTTPS para todos os URLs
  2. Redirecionando Subdomínios para Arquivos Específicos
  3. 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 № 1

Com 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]