0

예 : domain.com/web/vehicle/655520/2007-Hummer-H2---와 같은 기존 웹 사이트의 긴 URL이 있습니다. sort_by = 올해 & 인수 = All_years - All_makes - All_models - All_body_types - All_vehicles.htaccess - 특수 문자가 포함 된 URL이 필요합니다.

내가 새롭게 디자인 된 웹 사이트에 새로운 페이지에이 (그리고 더 많은 유사한 URL을) 리디렉션 할 필요가

, 페이지 예 : domain.com /hummer.php

어떻게 성공적으로 301을 사용할 수 있도록 URL에서 특수 문자 (예 :?)와 그 외 모든 것을 제거합니까?

답변

0

mod_rewrite로 "스트립"할 수 없습니다.
문자열 부분에서만 참조를 만들고 새 URL을 작성하는 데 사용할 수 있습니다.

당신이 할 수있는 방법은 원래 URL을 구축하려는 URL에 따라 다릅니다.

0

왜 필요합니까? .htaccess 파일에 길고 긴 리디렉션 목록을 코딩 할 계획이 아니라면 PHP에서 모든 리디렉션을 수행해야합니다.

제공 한 URL 예에서 모든 항목에 URL에 이미 연결된 고유 한 ID가 있다고 가정합니다. 이 경우 데이터베이스에 655520 항목의 "적절한"URL이 hummer.php라는지도를 만들 수 있습니다. 이를 사용하여 PHP에서 리디렉션을 수행 할 수 있습니다.

다음은이 작업을 수행 할 수있는 방법의 예입니다. 나는 당신이 이미 URL을 GET으로 변환하는 .htaccess 파일을 가지고 있다고 가정하고있다. 예 : RewriteRule ^(.*)$ index.php?request=$1 [L,QSA]

//determine if you were passed a "legacy URL" (not shown) 
if (legacyURL) { 
    $urlComponents = $explode("/", $_GET['request']); 
    $url = getItemUrl($components[2]); 
    header("Location: " . $url,TRUE,301); 
    exit(); 
} 
관련 문제