2011-01-27 6 views
4

작동하지 않습니다, 나는 나의 .htaccess 파일에 mod_rewrite를 활성화하지만 시간 전에 제대로

Options +FollowSymLinks 
RewriteEngine On 
RewriteCond %{REQUEST_URI} ^(.*[^/])/?$ 
RewriteCond %{DOCUMENT_ROOT}%1.php -f 
RewriteRule .+ %1.php [QSA,L] 

을 추가했습니다. 그러나 그것은 작동하지 않습니다. 내가 mywebsite.com/info 또는 mywebsite.com/info/에 갈 때 그 페이지는 info.php입니다. mod_rewrite가 활성화되었습니다. 내 사이트의 모든 페이지에서 나를 Google로 리디렉션 한 RewriteRule에서 테스트했습니다.

나는 무엇이 문제인지 전혀 모른다. 어쩌면 코드가 잘못 되었을까?

감사합니다.

+0

어쩌면 당신은'/'후'% {DOCUMENT_ROOT}'을 누락 되었습니까? 잘 모르겠지만, 내 눈을 사로 잡은 유일한 것. –

+0

@ 페카, 노력하지 마라. – Ron

+0

흠. 두 번째 RewriteCond를 완전히 삭제할 수 있습니까? 그냥 그때 작동하는지 확인 –

답변

1

이 규칙이 작동하려면 내가 필요한 내용은 다음과 같습니다

RewriteEngine on 
Options +FollowSymlinks 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)/$ $1.php [L] 
2

@Ron이에 마지막 두 줄을 변경해보십시오 : PHP 파일이 올바르게 처리하는

RewriteCond %1.php -f 
RewriteRule .+ %1.php [PT] 

당신은 순서대로 [PT]가 필요합니다.

1

GoDaddy는 새로 업로드 한 .htaccess 파일을 구문 분석하는 데 약 1 시간이 걸립니다. 이상합니다. 하지만 파일은 기다려도 그대로 작동해야합니다.