Como eu reescrevo internamente todas as solicitações para o subdiretório? [duplicado]

1

Estou usando o Laravel 5.6 e só posso fazer upload / editar arquivos para / na raiz do site ( /public_html ). Não consigo alterar a raiz do site para /public_html/public . É possível reescrever todas as solicitações (por exemplo, / , /login , /css/styles.css etc.) internamente para /public_html/public/ ?

Eu não sei escrever arquivos .htaccess. Eu tentei muitas coisas diferentes que encontrei online. A última coisa que tentei foi em /public_html/.htaccess :

RewriteEngine On

RewriteRule ^(.*)$ /public/$1 [L]
    
por Toothbrush 16.04.2018 / 18:05

1 resposta

1
RewriteRule ^(.*)$ /public/$1 [L]

Você só precisa de uma condição adicional para evitar um loop de reescrita. Por exemplo:

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule (.*) /public/$1 [L]

A variável de ambiente REDIRECT_STATUS está vazia na solicitação inicial e é definida como 200 (OK) após a primeira reescrita bem-sucedida.

As âncoras inicial / final ( ^ e $ ) não são necessárias, pois a regex é gulosa por padrão.

    
por 16.04.2018 / 18:33