mod_rewrite
대신 PHP를 사용하여 URL 정규화를 처리 할 수있는 가능성을 찾고 있습니다. 나는 많은 수의 서로 다른 URL을 주어진 물리적 PHP 페이지에 매핑 할 수 있기를 기대하고 있으며 301과 404를보다 중앙 집중적이고 유지 보수가 가능한 방식으로 처리한다. 여기에는 일반적인 철자 오류, 별칭, 검색 엔진 친숙한 URL 매개 변수 등이 포함됩니다. 이러한 필요성은 mod_rewrite
의 힘을 벗어나는 것으로 보이므로 다른 옵션을 고려하고 있습니다.PHP로 사이트 전체 URL 다시 쓰기 처리
나는 내가 htaccess로에서 다음과 같이에 모든 페이지를 매핑 canonical.php
스크립트 (borrowed from this post)를 만들 것입니다 생각 해요 :
RewriteEngine On
RewriteBase/
RewriteRule ^(.*)$ canonical.php/$1?%{QUERY_STRING} [L]
그리고 canonical.php
어떤 URL 파싱/DB 조회/리디렉션을 할 것/등이 필요하면 해당 요청에 /the/appropriate/file.php
을 간단히 포함 시키십시오.
이것은 합리적인 조치입니까? 그러한 기능은 mod_rewrite
과 실제로 실제로 가능합니까? (DB 조회 등을 제외하면) mod_rewrite
보다 분명히 느린가? PHP 래퍼보다 강력한 다른 방법론이 있습니까?
좋은 아이디어, 나는 그 이상을 찾고 있지만 .htaccess 파일을 자동 생성하는 것은 나쁜 계획이 아닙니다. .htaccess의 행 수가 더 동적 인 솔루션보다 더 큰 속도 저하를 가져올 수있는 지점이 있는지 궁금합니다. – dimo414
30k + 라인의 안티 봇, 해킹, .htaccess를 통해 처리 된 스팸이 있으며 속도와 관련하여 문제가없는 사람들이 있습니다. – Tschallacka