2016-10-25 3 views
4

동료 프로그래머!Apache mod-rewrite htaccess - 매개 변수가있는 동적 URL

http://example.com/pdfs/viewpdf?id=1494 

가 브라우저의 주소 표시 줄에 다시 작성하려면 : 나는 다음과 같은 동적 URL을 얻으려고

기본적으로

http://example.com/pdfs/1494/1494.pdf 

는, 사용자가보기 요청에 진입 파일/웹 서버에서 사용할 수 있고 제공된 ID 번호에 따라 PDF 파일 이름과 함께 제공된 ID와 폴더 이름이 일치하는 DOCUMENT_ROOT/pdfs/아래의 하위 폴더로 이동하여 해당 문서를 검색하도록 URL이 다시 작성됩니다 동일한 ID와 일치합니다. 누구든지 도와 줄 수 있습니까? 내가 시도한 모든 것은 효과가 없다.

미리 감사드립니다.

답변

1

루트/htaccess로에 다음과 같은 규칙을보십시오 :

RewriteEngine on 
#1 Iteration)Redirect "/pdfs/viewpdf/?id=123" to "/pdfs/123/123.pdf" 
RewriteCond %{THE_REQUEST} /pdfs/viewpdf/?\?id=([^&\s]+) [NC] 
RewriteRule^/pdfs/%1/%1.pdf? [L,R] 
#2 iteration) internally map "/pdfs/123/123.pdf" to "/pdfs/viewpdf/?id=123" 
RewriteRule ^pdfs/[^/]+/([^.]+)\.pdf$ /pdfs/viewpdf/?id=$1 [L,QSA] 
+1

이 나를 위해 완벽하게 작동! 도와 줘서 고마워! 당신은 내 정신을 회복하는 것을 도왔습니다! LOL. – tfrancois

+0

업데이트 : 전용 Red Hat 서버에서 정상적으로 작동합니다 ... 그러나 나에게있어서 DreamHost 공유 서버에서 똑같은 파일을 시도했을 때 나는 다시 정사각형으로 돌아 왔습니다. 더 이상 작동하지 않습니다. 나는 htaccess Tester @ http://htaccess.madewithlove.be/와 함께 위의 것을 사용했으며, 거기에서도 역시 실패합니다. THE_REQUEST가 지원되지 않는다고합니다. 다른 제안 사항은 없습니까? – tfrancois