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입니다.
것이 규칙이 추가? – ggdx
지원 담당자에 따르면 그렇습니다. 그러나 배포하기 전에 시스템의 내보기에서 확인할 수는 없습니다. – James
'composer dump-autoload'? – ggdx