2013-04-22 3 views
0

.htaccess를 사용하여 필요한 작업에 약간의 문제가 있습니다.변수 폴더에 .htaccess 사용

http://example.com/folder/$1/topic.php?id=$2 

변경 유일한 두 가지가 $ 1, $ 2 :

는 웹 페이지의 URL입니다.

이 코드를 사용하고 있었지만 변수 폴더를 사용할 수없는 것으로 보입니다.

RewriteRule ^([a-zA-Z0-9_-]+)$ topic.php?id=$1 
RewriteRule ^([a-zA-Z0-9_-]+)/$ topic.php?id=$1 
RewriteRule ^folder/$1/([a-zA-Z0-9_-]+)$ folder/$1/topic.php?id=$2 
RewriteRule ^folder/$1/([a-zA-Z0-9_-]+)/$ folder/$1/topic.php?id=$2 

구문을 잘못 입력했을 수도 있지만 알아낼 수 없습니다.

브라우저의 URL은 같이 변경됩니다 :

http://example.com/folder/$1/topic/$2 

당신의 시간 주셔서 감사합니다^^

답변

2

야호합니다.! 사용자 님.

RewriteRule ^folder/\$1/([a-zA-Z0-9_-]+)/$ folder/$1/topic.php?id=$2 

아니면이 될 수 있습니다 :

RewriteRule ^folder/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$ folder/$1/topic.php?id=$2 

이^

그래, 내가^필요 __

난 당신이 단지 몇 백 슬래시 닌자 펀치를주고, $1을 피할 필요가 있다고 생각 무슨 일이 일어나고 있는지 설명하기 위해 왼쪽에있는 괄호 사이의 숫자는 $이되고 오른쪽에있는 숫자는 $은 괄호의 현재 순서입니다. 따라서 :

#    1st 2nd 3rd  1st────┐ 2nd ┌──────3rd 
RewriteRule ^(.*?)/(.*?)/(.*)$ file.php?p1=$1&p2=$2&p3=$3 

이러한 괄호 블록을 캡처 블록이라고하며, RegExp입니다.

+0

정말 고마워요.^_____^: D – user2308604

관련 문제