2014-04-02 3 views
0

웹 사이트의 모든 링크는 get 변수입니다. 사용자는 항상 index.php를 열고 다른 내용을 정의하는 다른 get-variable을 제공합니다.GET 변수에서 가상 디렉토리로 URL을 변경하는 방법

예 : 이 홈 페이지는 연락처 페이지가 지금은 URL이 example.com/ 같이 할

example.com/?p=7입니다 example.com/?p=1 입니다 접촉. 페이지 수가 정적이지 않기 때문에 모든 페이지에 대한 디렉토리를 만들 수 없습니다.

아마도 index.php (example.com?p=3)의 내용을 존재하지 않는 경로 (example.com/new-path)로 가져 오는 방법이 필요합니다.

.htaccess 파일을 사용하여 문제를 해결할 방법이 있다고 들었습니다.

+0

내가 도움이 대답 : http://stackoverflow.com/questions/19668686/redirect-without-changing-url?rq으로이 질문의 중복을 발견 = 1 – Jere

답변

1

저는 .htaccess/mod_rewrite expert가 아니지만이 프로그램이 유용하다고 알았습니다. 시스템이 숫자와 페이지 간의 관계를 알지 못하기 때문에 리디렉션하는 각 페이지에 대한 항목을 제공해야합니다. index.php을 삭제하려고 조금만 둘러보아야 할 수도 있습니다.

# Original URL: 
# http://www.example.com/index.php?p=1 

# Desired destination URL: 
# http://www.example.com/path-to-new-location/ 

# .htaccess syntax: 

RewriteEngine on 
RewriteCond %{QUERY_STRING} p=1 
RewriteRule ^index\.php$ /path-to-new-location/? [L,R=301] 
# Redirect URLs with query parameters (files placed in subdirectory) 

주, # 그것은 유일한 목적은 당신에게 정보/코드에 대한 의견을 제공하는 것입니다, 무시됩니다 주석에 대한 기호 (회색에서 ) 그 라인에 아무것도입니다.

소스 (라인 52-63) : Common .htaccess Redirects - Gist

+0

새 위치로 리디렉션하는 좋은 방법입니다. 하지만 "path-to-new-location"이라는 폴더가 필요합니다 ... 기본적으로 콘텐츠를 변경하지 않고 URL을 변경하는 방법이 필요합니다. – Jere

관련 문제