2013-09-26 2 views
2

내 .htaccess 파일이 리디렉션 루프를 만들고 있습니다. 나는 온라인으로 수색을하고이 사이트에서 많은 것을 포함하여 많은 종류를 시도했지만 여전히 작동시킬 수는 없다. 그것의 목적은 .html을 URL의 끝에서 제거하는 것입니다..htaccess로 리디렉션 루프를 일으키는 .html을 제거합니다.

RewriteEngine On 

RewriteCond %{SCRIPT_FILENAME}/ -d 
RewriteCond %{SCRIPT_FILENAME}.html !-f 
RewriteRule [^/]$ %{REQUEST_URI}/ [R=301,L] 

RewriteCond %{ENV:REDIRECT_STATUS} ^$ 
RewriteRule ^(.+)\.html$ /$1 [R=301,L] 

RewriteCond %{SCRIPT_FILENAME}.html -f 
RewriteRule [^/]$ %{REQUEST_URI}.html [QSA,L] 

답변

1

이 당신의 모든 코드를 대체합니다 :

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

## hide .html extension 

# To externally redirect /dir/foo.html to /dir/foo 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.+?)\.html?[/?\s] [NC] 
RewriteRule^%1? [NE,R=301,L] 

# To internally forward /dir/foo to /dir/foo.html 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{DOCUMENT_ROOT}/$1.html -f 
RewriteRule ^(.+?)/?$ /$1.html [L] 

## append trailing slash if needed 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule [^/]$ %{REQUEST_URI}/ [R=301,L] 
+0

것은 그것은 지금 나에게 내부 서버 오류를주고있다

여기 내 코드입니다. – Jolly

+0

error.log를 확인하고 오류가 무엇인지 말해주십시오. – anubhava

+0

어떻게 확인하나요? – Jolly