6
respostas

Problemas com endereços Laravel 5

Galera, ainda tomo um coro aqui com os endereços do Laravel. No meu ambiente funciona bem, quando subo pra meu ambiente web (kinghost - compartilhado), dá ruim. Uso PHP 5.6 e Laravel 5.0

O que acontece é:

Meus arquivos css no ambiente web não carregam! Eu preciso apontar o caminho direto pra que funcione:

href="public/css/..."  src="public/js/..."

No meu ambiente local isso não é preciso. Coloco apenas o que está depois da pasta public/...

Minhas rotas eu tive que alterar também os caminhos. Assim funciona no ambiente web:

Route::get('/nova', 'InstituicaoController@nova');

Assim no local:

Route::get('/instituicao/nova', 'InstituicaoController@nova');

Minha estrutura Web:

-public_html
        --foo
        --foo2
        --instituicao
            ---app em Laravel
            ---pasta public do laravel

Por recomendação da hospedagem, alterei o nome do arquivo server.php para index.php e assim o Laravel rodou. Tentei colocar

{!! HTML::style('css/app.css') !!}

não rolou. Adicionei

"require": {
        "laravel/framework": "5.0.*",
        "laravelcollective/html": "~5.0"
    }

no composer.json, mas também não rolou.

Não manjo muito do htaccess, eles estão na pasta instituicao e também na pasta public, dentro da pasta instituicao:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

Rapaz.. alguém poderia me ajudar? Dar uma clareada? Obrigado desde já!

6 respostas

Tenta usar a função url pra isso. Da uma olhada no exemplo abaixo

De

{!! HTML::style('css/app.css') !!}

Para

<link href="{{ url('css/app.css') }}" rel="stylesheet">

Nos de um retorno se isso resolveu o problema ai

Fala, Tarciso! Primeiramente, gratidão pela ajuda!

No localhost funcionou, na web ainda não consigo testar porque deu um erro aqui no DNS, a galera ta resolvendo.

Uma pergunta, essa solução serve também pras rotas?

Valeeu!

Eu uso pra incluir arquivos ou pra pegar a url de referência. No caso das rotas eu prefiro criar alias para elas e chamar usando a função route('aliasdarota'). Mas você pode também criar seus links pras rotas usando a função url('caminho/da/rota').

Tarcísio, subi hoje pro FTP e também não rolou.

MEsmo problema, só funciona se eu colocar public/ antes

Tenta editar o arquivo config/app.php

'url' => env('APP_URL', 'http://suaurl.com'),

Nada também, Felipeiras!

posso colocar qualquer dado em 'url' => 'foo' que nada altera.