2014-06-10 4 views
0

htaccess에 문제가 있습니다.URL 슬래시, 매개 변수 등을 다시 작성합니다.

1) 페이지/PAGE (후행 슬래시 없음)

2) 페이지/페이지/DATA는 (후행 슬래시없는 ## page.php 페이지 = PAGE) : 여기에

내 요구 사항

3)의 로그인, 로그 아웃, 인덱스 (또는 아무 .PHP /) (로그인로 리디렉션) 또는 슬래시없이

4) 페이지 (NO? = 페이지 PAGE = & 데이터 DATA를 page.php ## 슬래시 또는 .php)

이 내가 현재 시도 것입니다 :

RewriteEngine On 
RewriteRule ^logout$ pages/logout.php [NC,L] 

#1 
RewriteRule ^pages/(\w+)$ page.php?page=$1 [NC,L] 
#2 
RewriteRule ^pages/(\w+)/(\w+)$ page.php?page=$1&data=$2 [NC,L] 

#3 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

RedirectMatch 301 ^(.*)/$ $1 

이 문제는 루트 날 (또는/후행없이)
페이지 '루프를 리디렉션'제공 나에게 리디렉션 루프를 준다이다

답변

0

규칙은 다음과 같습니다.

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{THE_REQUEST} \s(.+?)/+[?\s] 
RewriteRule ^(.+?)/$ /$1 [R=302,L] 

RewriteRule ^logout$ pages/logout.php [NC,L] 

#1 
RewriteRule ^pages/(\w+)$ page.php?page=$1 [NC,L] 
#2 
RewriteRule ^pages/(\w+)/(\w+)$ page.php?page=$1&data=$2 [NC,L] 

#3 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^.]+)$ $1.php [NC,L]