1. 먼저 httpd.conf에 mod_rewrite.so이 로드 되어야 한다.
2. 그리고 해당 웹사이트의 AllowOverride 설정은 All 이어야 한다. 대부분 버추얼호스트를 이용하므로 httpd-vhosts.conf 안에 해당 웹사이트의 설정 안에 AllowOverride All 이라는 구문을 넣어주면 된다. 여러개의 웹사이트를 운영하는 경우가 아니라면 httpd.conf에서 설정하면 된다.
3. application, public, system, tests, docs 등의 디렉토리가 있는 홈디렉토리에서 .htaccess 화일을 생성하고, 아래와 같이 설정한다.
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.*)$ public/$1 [L] </IfModule>
4. public 디렉토리 안에 .htaccess 화일을 생성하고 아래와 같이 설정한다.
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond $1 !^(index\.php) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] </IfModule>
이제 public/index.php의 입력 없이도 잘 접속될 것이다.
새댓글 등록