2017-10-12 4 views
0

this another question과 매우 비슷한 문제가 있습니다. 그러나 해당 스레드에서 제공되는 솔루션이 도움이되지 못했습니다. 공유 호스팅의 Laravel 경로가 제대로 작동하지 않습니다.

나는이 내 경로가/

파일 web.php되어 다음

(BTW, 가이드 링크 된 질문 one of the answers 매우 유사하다) guide 사용하여 공유 호스팅 서비스 내 Laravel 응용 프로그램의 배포를 만든

<?php 

/* 
|-------------------------------------------------------------------------- 
| Web Routes 
|-------------------------------------------------------------------------- 
| 
| Here is where you can register web routes for your application. These 
| routes are loaded by the RouteServiceProvider within a group which 
| contains the "web" middleware group. Now create something great! 
| 
*/ 

Route::get('/', function() { 
    return view('welcome'); 
}); 

Auth::routes(); 

Route::get('/home', '[email protected]')->name('home'); 

Route::group(['prefix' => 'law', 'middleware' => ['ability:superadministrator,read-users|create-users']], function() { 

    Route::get('/search', '[email protected]'); 
    Route::get('/new', ['middleware' => ['permission:create-users'], 'uses' => '[email protected]']); 

    Route::get('/find', '[email protected]'); 
    Route::get('/edit/{id}', '[email protected]'); 

    //region post 
    Route::post('/new', ['middleware' => ['permission:create-users'], 'uses' => '[email protected]']); 
    Route::post('/search', ['middleware' => ['permission:read-users'], 'uses' => '[email protected]']); 
    /*Route::post('/modify', ['middleware' => ['permission:create-users'], 'uses' => '[email protected]']);*/ 
    //endregion 
}); 

Route::group(['prefix' => 'user', 'middleware' => ['ability:superadministrator,read-users|create-users']], function() { 
    //..similar to the previous one 
}); 
//some other route groups 

문제는 환영 페이지와 로그인 페이지에 액세스 할 수 있다는 것입니다. 인증이 끝나면 홈 페이지로 이동 한 다음 문제가 시작됩니다. 내가 시도하는 것보다 (mydomain.net/law/search와 같은) 다른 모든 경로는 어떤 종류의 무한 루프에서 나를 홈 페이지로 다시 남겨 둡니다. 로그 아웃 경로도 정상적으로 작동합니다.

이상한 점은 mydomain.net/blah와 같이 존재하지 않는 경로를 시도하면 Laravel Framework의 RouteNotFound/"NotFoundHttpException"지식을 얻게된다는 것입니다.

PHP 로그 또는 브라우저 콘솔에 오류가 표시되지 않습니다. 자바 스크립트 잘 작동합니다.

호스트 서비스 지원부에 문의하여 Apache에 mod_rewrite가 활성화되어 있고 분명히 활성화되어 있는지 확인합니다.

나는 약 3 시간 동안 인터넷 검색을하고 있으며, 여기에서 더 깊이 파고 들지만, 무엇이든이 문제를 이해하는 데 도움이된다. 어떤 팁?

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

    RewriteEngine On 

    # Redirect Trailing Slashes If Not A Folder... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)/$ /$1 [L,R=301] 

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

    # Handle Authorization Header 
    RewriteCond %{HTTP:Authorization} . 
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 
</IfModule> 

MISC : 참조 나 '

  • 에 대한

    • PHP 7.1
    • Laravel 5.4
    • The composer.json 아래

      는 어떤 식 으로든 도움이 경우 .htacces이 파일입니다 m에 Laravel AdminLTE을 사용하고 사이드 바 메뉴가 제대로 작동하지 않습니다. 나는 그것이 두 문제를 일으키는 동일한 문제라고 생각한다.
    • 내 .env 파일에는 특별한 것이 없지만 here is (part of) it입니다.
  • +1

    것이 규칙이 추가? – ggdx

    +0

    지원 담당자에 따르면 그렇습니다. 그러나 배포하기 전에 시스템의 내보기에서 확인할 수는 없습니다. – James

    +0

    'composer dump-autoload'? – ggdx

    답변

    0

    당신의 .htaccess 파일

    RewriteEngine on 
    
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.php/$1 [L] 
    

    에서의 index.php에 REQUEST_URI의 내부 부하 내용이 mod_rewrite는이 켜져

    +0

    나는 효과가 없지만 어쨌든 고마워. – James

    관련 문제