질문을 삭제하지 말아주세요.!
 
1
0
-1

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

    RewriteEngine On 

    # Redirect Trailing Slashes If Not A Folder... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_URI} (.+)/$ 
    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> 

현재 제 프로젝트 내에 htaccess 파일 입니다 

현재 설치된 라라벨폴더에서 routes/web.php 에서 아래와같이 코드를 추가하고 

Route::get('a', function(){ 
    return 'aaaa'; 
}); 

localhost/laravel/public/a 로 접속해보니깐 

Sorry, the page you are looking for could not be found 

이런 메세지가 나옵니다 검색 해서 찾아보니 mod_rewrite를 활성화 하라고 하고 아래와 같이 코드가 나오는데 

Options +FollowSymLinks 
RewriteEngine On 

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

어떻게 설정을 해야하는지 감이 안잡힙니다 제 파일에 그대로 복붙 하면 좋겠는데 

중복되는 코드들이 있고 ,,,,, 어떻게 활성화를 해야하는지요 ,,,

    CommentAdd your comment...

    2 answers

    1.  
      1
      0
      -1

      이 질문에 답을 하기 위해서는 사용하시는 운영체제와 웹 서버 정보가 필요합니다. 더 찾아보실 수 있도록 키워드와 링크를 남겨 드립니다.


      PHP 내장 웹 서버(=~라라벨 내장 웹 서버, php artisan serve 또는 php -S localhost:8000)

      => 아무런 설정도 고칠 필요없습니다. Url Rewrite는 저절로 작동합니다.


      Apache (httpd conf 에서 활성화해야 합니다.)

      => Ubuntu https://github.com/appkr/lamp-base/blob/master/Dockerfile#L76

      => Linux https://serverfault.com/questions/558600/centos-bash-a2enmod-command-not-found

      => MacOS https://stackoverflow.com/questions/12592215/install-and-configure-mod-rewrite-for-apache-2-on-mac-os-x-for-zend-framework-2


      Nginx 

      https://github.com/appkr/lemp-base/blob/master/files/etc/nginx/sites-available/default#L17

      1. getahead92

        윈도우에 아파치 사용하고 있어요 ㅠㅠ

      CommentAdd your comment...
    2.  
      1
      0
      -1

      윈도우에서 아파치+PHP 조합으로 사용하고 계신다면

      2가지 정도를 확인해 보셔야 할것 같습니다.

      1. mod_rewrite 모듈이 활성화 되어 있는가?
      2. htaccess 파일이 정상적으로 동작이 되고 있는가?


      (1번문제)
      httpd.conf 파일에서 

      아래 그림과 같이 mod_rewrite.so 의 라인의 앞에 # 주석이 없어야 합니다.

      주석이 있다면 # 을 제거하고 아파치 재시작을 해주셔야 합니다.


      (2번문제)

      httpd.conf 파일 또는 virtualhost 설정 부분에서 아래의 그림과 같이

      AllowOverride All 로 설정되어 있는지 확인하셔야 할것 같습니다. 만약 None 으로 설정되어 있다면 htaccess 파일이 동작되지 못하고 있는 상태 입니다.

        CommentAdd your comment...