2012-10-23 1 views
1

다시 작성하려는 CMS (SilverStripe CMS)에서 생성 한 일부 URL이 있습니다. 어떤 이유에서든 ?url=을 쿼리 문자열에 추가하여 URL을 설정할 수 있습니다.URL에 매개 변수를 다시 작성하십시오 (example.com/?hl=ko example.com/about-us).

따라서 example.com?url=/about-usexample.com/about-us은 같은 페이지를 제공합니다.
example.com/some-page/?url=/about-us을 수행 할 수 있으며 여전히 Google 정보 페이지가 표시됩니다.

So : "url"매개 변수가 포함 된 URL을 domain.tld + URL 매개 변수의 값으로 다시 작성하려면 어떻게해야합니까? (example.com?url=/about-usexample.com/some-page/?url=/about-us 등, example.com/about-us).

누군가가 도움을 줄 수 있기를 바랍니다. 문서 루트에 htaccess로 파일에이 규칙을 추가

답변

0

시도 :

RewriteEngine On 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /[^\?]*\?url=([^&\ ]+)&?([^\ ]*) 
RewriteRule^/%1?%2 [L,R=301] 

이 완전히하는 url=<something> 쿼리 문자열 PARAM 어떤 요청을 URI를 무시하고 /<something>에 브라우저를 리디렉션 추가합니다 어떤 쿼리 문자열은 이후에 발생합니다.