2013-04-30 3 views
1

내가Htacces는

한다 RewriteEngine
한다 RewriteRule에 완벽하게 작동이 규칙^([^ /] +)/([^ /] +) /demo/index.php 한 규칙과 조건을 재 작성? 카테고리 = $ (1) & 하위 범주 = $ 2

/demo/index.php에서 내 링크를 변환? 카테고리 = ABC & 하위 범주 = XYZ
나는이

/데모처럼 그냥 카테고리 이름을 입력합니다
/데모/ABC/XYZ

에 있지만, 시간에/ABC/

그러나 불행히도이 오류는 페이지를 찾을 수 없습니다.. 이 오류의 원인은 무엇이며 어떻게 해결할 수 있습니까?

또한 누군가 RewriteEngine 리소스/책/자습서에 대한 링크를 제공 할 수 있습니까? 나는 초보자가 나를 도와 줄 수있는 것을 찾을 수 없었다. 고맙습니다.

답변

1
에있을 것입니다

:

RewriteRule ^([^/]+)/([^/]*) /demo/index.php?category=$1&subcategory=$2 [L,QSA] 

옵션 (*를 사용하는 대신 +[^/]*에서)

이 만드는 두 번째 인수
+0

완벽한 도움을 주셔서 감사합니다. –

+0

환영합니다. 다행 이네요. 그것은 나에게 오류를주고 있었다 나는이 ---- '/ 데모 같은 슬래시없이 URL을 쓸 때 – anubhava

+0

나는 그래서 ABC' 에게/---- 을 규칙에 추가 변경했다 규칙을 3 개의 주장과 2 번째의 주장을 슬래시로 바꿨고, 언급 한대로 *를 사용하여 선택 사항으로 만들었습니다. ---- '한다 RewriteRule^([^ /] +) (/ *) ([^/*) /demo/index.php?category=$1&subcategory=$3 [L, QSA] ' ---- 지금은 작동하지만 올바른 접근 방법입니까? –

0

/demo/ABC/이 로컬 파일 시스템에있는 디렉토리가 아니면 해당 페이지를 찾을 수 없습니다. 첫 번째 규칙은 매개 변수로 채워진 링크를 해당 pseduo 경로로 다시 쓰는 것만으로 가상 디렉터리를 만들지 않거나 단단한 리디렉션을 만들지 않습니다.

RewriteRule을위한 최고의 정보 아마 당신의 규칙을 변경

실제 Apache docs.