http://domain.com/public/index.php을 http://domain.com으로 어떻게 바꿀 수 있으며 ('/')
이외의 다른 경로를 사용할 수 있습니까?Laravel 5.2 예쁜 URL
해결 방법 1 :
가상 호스트 파일 :
<VirtualHost *:80>
DocumentRoot "/var/www/html/domain/public"
ServerName domain.com
<Directory "/var/www/html/domain/public">
AllowOverride All
Allow from All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
htaccess로 파일 :이 설정으로
<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>
, 그래 내가 http://domain.com을 설정할 수 있어요 하지만 내가 노력하고있어. g는 다른 경로를 호출하여 404를 얻습니다.이 이유는 내 루트 폴더를 공개로 설정 한 것을 볼 수 있기 때문입니다. 따라서 내 노선은 내 컨트롤러가 공용 폴더에 없기 때문에 내 목적지로 이동할 수 없습니다 (내 컨트롤러로 연결되는 것과 같습니다).
해결 방법 2 : 내가 /var/www/html/domain/
에 난 내 꽤 URL과 유일한 방법은 내가 http://domain.com/public/index.php
를 입력하여 메인 페이지를 요청할 수 있습니다을 잃고 이번에는 문서 루트 디렉토리를 변경하는 경우
.
우분투 14.04를 사용하고 있습니다.
무엇을 제안합니까?
--- 갱신 ---
경로 예 :
Route::get('myroute', array(
'uses' => '[email protected]',
'as' => 'myroute'
));
--- 업데이트 2 --- PHP 장인 경로 : 목록 결과가
+--------+----------+---------+------+---------+------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+---------+------+---------+------------+
| | GET|HEAD |/ | | Closure | web |
| | GET|HEAD | myroute | | Closure | web |
+--------+----------+---------+------+---------+------------+
가상 호스트 **는 ** 공용 폴더를 가리켜 야합니다. 임시 해결 방법 및 트릭이 필요하지 않습니다. 404를 얻는 경로를 정의하는 방법을 볼 수 있습니까? – TheFallen
가상 호스트 분할이 제대로 작동해야합니다. 당신의 묘사에서 당신은 피난처가 된 것처럼 보이지만 Laravel이 어떻게 작동하는지 이해하게되었습니다. 진입 점은 항상'index.php'가 될 것입니다. 우리가 virtualhost를 public 디렉토리로 가리키더라도, 모든 요청은'index.php' 파일에 도달합니다. 그러면'index.php' 파일이 필요에 따라 부트 스트랩하고 요청을 라우팅합니다. 모든 경로가 정상적으로 작동해야합니다. – saji89
@ TheFallen 게시물을 업데이트했습니다. –