2012-05-24 2 views
0

존재하지 않는 웹 페이지를 index.php로 리디렉션하려고합니다.

이 데이터를 사용하여 index.php와 동일한 폴더에 .htaccess 파일을 만들었습니다. 내가 Wampserver와 아파치 서버의 httpd.conf 파일을 사용하고

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
Rewritecond %{REQUEST_FILENAME} -d 

RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

에 AllowOverride 모든

하지만 여전히으로 설정되어 나는 존재하지 않는 웹 페이지를 입력하려고 할 때 404 오류가 발생합니다. 아이디어가 있으십니까?

EDIT. 그건 그렇고, 나는이 게시물을 보았습니다 HERE 그리고 거기에 개최 된 물건을 시도했지만 그것은 나를 위해 작동하지 않았다.

답변

2

왜 ErrorDocument 지시문을 사용하지 않으시겠습니까?

ErrorDocument 404 index.php 

훨씬 간단하고 오버 헤드가 훨씬 적습니다.

mod_rewrite 사용을 주장하는 사람은 De Morgan의 법칙을 사용할 수 있으며 페이지가 존재할 때 대소 문자는 신경 쓰지 않아도됩니다. 어쨌든 정상적으로 처리되므로 명시 적으로 RewriteRule^. * $.

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-s 
RewriteCond %{REQUEST_FILENAME} !-l 
Rewritecond %{REQUEST_FILENAME} !-d 
RewriteRule ^.*$ index.php [NC,L] 

즉, 게시 한 스 니펫이 작동해야한다고 생각합니다. 나는 Wampserver에 전혀 익숙하지 않지만 명시 적으로 enable the mod_rewrite module해야한다고 생각합니다.

또한 페이지가 존재하지 않는다는 것을 로봇이나 사용자에게 나타내지 않고 존재하지 않는 페이지를 index.php로 리디렉션하는 것은 그리 좋은 방법이 아닙니다. 유효한 페이지에 대한 링크가있는 꽤 오류 페이지가 훨씬 더 나은 선택입니다.

+0

감사합니다. –