2012-05-19 3 views
1

안녕하세요 여러분, 제가 여기서 잘못하고있는 것을 모릅니다..htaccess의 일부 오류는 무엇을 잘못했는지 알지 못합니다.

www.example.com/data/stuff1/stuff2/stuff3

www.example.com/anything.php?par1=data

에 & & PAR2 = stuff1/stuff2/stuff3

그리고 이것은 내가 작성한 것입니다. 내 실수를 찾아 내게 도와주세요. 시. 나는 아주 새로운 .htaccess.

감사합니다. 당신이 경로의 시작을 표시하기 위해 ^을 추가하지 않은 때문에 RewriteRule에서

RewriteEngine On # Turn on the rewriting engine 
#RewriteCond %{REQUEST_URI} !www\.a3k\.in 
RewriteRule  /([^/]+)/?(.*)$ /anything.php?api=$1&&data=$2 [NC,L] 
+0

".htaccess"대신 "main"컨텍스트 인 Apache Web Server와 mod_rewrite에 대해 언급해야 할 몇 가지 문제가 있습니다. 나는 그 주제를 중심으로 질문이 돌아가고 있다고 생각한다. –

답변

2

경로는 선행 슬래시를 포함하지 않으며, 이것은 잘못된 행동의 원인이 있습니다. 그래서 그 대신이 시도 :

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/(.*)$ anything.php?api=$1&data=$2 [NC,L] 

는 또한 실제로 기존 파일의 URL이 다시 작성되지 않습니다 있는지 확인하기 위해 RewriteCond %{REQUEST_FILENAME}을 추가했다.

+0

고맙습니다. 나는 무엇이 잘못되었는지에 관해서 아직도 이해하기를 원합니 까? www.example.com도 다시 작성 되었습니까? – Prateek

관련 문제