추한 URL을보다 친숙한 URL로 변환하는 CMS 시스템이 있습니다.IIRF/APACHE 다시 쓰기 조건 쿼리 문자열과 함께 실패
지금까지 instanstance, 대신에이 같은 페이지 URL 인 무언가 :
/pagebase.php?id=3644
나는 더 친절하게 각 페이지의 URL 쓰기 설정을 가지고있다. 예를 들어
:
RewriteRule ^/events$ /pagebase.php?id=3644 [I]
그래서 domain.com/events에서 사용자 유형들이 URL 위에 올려 때.
이 작업을 수행 할 수 있도록 추가 쿼리 문자열을 추가해야하는 곳을 제외한 거의 모든 페이지에서 작동합니다. 이?을 참조하지 않기 때문에
www.domain.com/events?y=2010=&m=&1d=2
유일한 문제는 URL을 쓰기 이상형
www.domain.com/pagebase.php?id=3366&y=2010=&m=&1d=2.
로 다시 것이다 실패 Y 쿼리 문자열로 = 2 = 2010 = & m = & 1D , URL의 일부로보고 실패합니다.
쿼리 문자열을 전달할 수 있도록 다시 쓰기 파일을 수정해야합니다.
내가 RewriteRule의 같은 것을하고 싶지^/events- % 쿼리 문자열 % $ /pagebase.php?id=3644 + % 쿼리 문자열 % [I]
이 경기에서 쿼리 문자열을 제거하지만 그것을 서면 url의 끝에 추가합니다. 나는 URL을 어떻게 수정하는지에 대한 충분한 지식이 없다.
다음은 내 재 작성 파일의 예입니다.
RewriteRule ^/events$ /pagebase.php?id=3644
RewriteRule ^/faqs$ /pagebase.php?id=3659
RewriteRule ^/gallery$ /pagebase.php?id=3645
RewriteRule ^/gifts$ /pagebase.php?id=3646
내가 모든 페이지에서 작동 뭔가가 필요, 내가 특정 쿼리 문자열을 처리하기 위해 각 규칙을 수정해야 싶지 않아, 난 그냥 통해 쿼리 문자열을 전달하는 일반적인 솔루션을 원한다.
추가] [L, QSA]을 RewriteRule의 문에. "L"은 마지막 (다시 쓰기를 계속하지 말 것)이고 "QSA"는 URL에 매개 변수를 추가하기위한 쿼리 문자열 추가입니다. –
그건 효과가없는 것 같습니다. 어떻게 보일까요? 이와 같이 RewriteRule ^/events $ /pagebase.php?id=3644 [L, QSA] – matwonk
질의 문자열과 QSA를 결합 할 때 문제가있을 수 있습니다. 이 트릭을 할 것이라고 생각 :'RewriteRule ^/events $ /pagebase.php?id=3644&%{QUERY_STRING} [L]' –