2012-10-26 2 views
0

매번이 코드를 쓰지 않고 무한정 계속 사용해야합니다. 이 방법이 있습니까?htaccess 명령을 다시 실행하십시오.

RewriteRule ^(\w+)/?$ index.php?page=$1 [QSA] 
RewriteRule ^(\w+)/(\w+)/?$ index.php?page=$1&$1=$2 [QSA,L] 
RewriteRule ^(\w+)/(\w+)/(\w+)/?$ index.php?page=$1&$1=$2&$2=$3 [QSA,L] 

그래서 모든 방법을 다음 $ 2 $ 1 = $부터 2 = $ 3 그래서 페이지 = 블로그 & 블로그 = 기사 & 글 = 날짜 & 날짜 = 2012

내 PHP 다음이 소요 이것에 분석을 실행합니다. 따라서 $ 1 -> $ 11처럼 될 수 있습니다. 긴 URL 나는 내가 계속 추가 할 수 있음을 의미합니다.

AAA.com/blog/article/date/2012/?colour=blue 

답변

0

아니 그만큼. 대체 $5 자리 표시자를 얻으려면 일치 그룹이 필요합니다.

RewriteRule ^(\w+)(?:/(\w+))?(?:/(\w+))?(?:/(\w+))?(?:/(\w+))?(?:/(\w+))?(?:/(\w+))?/?$ index.php?page=$1&$1=$2&$2=$3&$3=$4&$4=$5&$5=$6 [QSA,L] 

을하지만 당신이없는 항목에 대해 후행 몇 &=&=&=을했다 :

하나는 물론 그룹 지혜를 optionalize 수 있습니다. 보통은 $_GET[""]이 비어 있어야하지만 PHP는이를 무시합니다. 그래서, 옵션이 될 수도 있습니다. 나는 그것이 더 읽기 쉽고 간결한 RewriteRule이라고 생각하지 않는다.

+0

지금은 그대로 두겠습니다. 나는 그게 기압이라고 이해한다. 어쨌든 고마워. –

관련 문제