2011-08-17 6 views
0
난 다음 modrewrite 구조 데

: 해당 htaccess로이 될 것htaccess로 질문

/links/ 
/links/web/ 
/links/travel/ 
.. 

을 :

RewriteRule ^links/ links.php [L] 
RewriteRule ^links/web/ links.php?catID=1 [L] 
RewriteRule ^links/travel/ links.php?catID=2 [L] 

문제는 루트 링크 (첫 번째 줄) 항상 전에 실행할 것입니다 실제 카테고리 - 링크. 이 문제를 해결할 수있는 방법이 있습니까? 이것이 가능 어떻게 어떤 아이디어 -

^links/index.html 

하지만 난이 index.html을 생략하고 싶습니다 : 내가 볼 수있는 유일한 방법으로 루트 링크를 수정했다?

+0

왜 다른의 RewriteRules 후 첫 RewriteRule의를 배치하지? –

+0

좋은 아이디어 ..하지만 일부 서재응이 편집하고있는 데이터베이스에서 이것을 구축하고 있습니다. 그래서 그는 항상 루트 규칙을 먼저 추가 할 것입니다. – Fuxi

답변

5

$ 추가합니다.

또는 $_SERVER["REQUEST_URI"]을 평가하면 PHP에서 확인하실 수 있습니다.

1

그냥 바꾸십시오./web/check for/links/again 경우

RewriteRule ^links/travel/ links.php?catID=2 [L] 
RewriteRule ^links/web/ links.php?catID=1 [L] 
RewriteRule ^links/ links.php [L] 
1

첫 번째 줄을 마지막에 넣으십시오. 그런 식으로 다른 사람들을 처형 할 것입니다.

RewriteRule ^links/$ links.php [L] 

그것은 URL의 끝을 의미한다 :

1

다음 RewriteRule의 처음 그것을 할 수있는 추가 (I 테스트하지 않은) :

RewriteRule ^links/$ links/index.html [L]