2011-12-13 1 views
0

이제 미스테리가있는 것처럼 웹을 수색했거나 어쩌면 잘못된 물건을 찾고 있는데도 좋은 객체 지향적 인 아파치 모드를 사용하여 PHP에서 "예쁜 URL"을 관리하는 방법 동적으로 실행할 수있는 다시 쓰기, 즉 MySQL과 같은 데이터베이스?PHP 클래스 OOP 기반 Apache Mod Rewrite 시스템 (퍼머 링크 - 친숙한 URL)

PHP의 현재의 "제한된"노하우로 몇 가지 방법을 시험 해왔다. 이 htaccess로 파일을 당신은 그들이 존재하는만큼 다른 폴더에 액세스하는 동안 하나 개의 파일에 대한 모든 URL을 요청할 수 있습니다

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 
</IfModule> 

그게 모든 지느러미 전자와 멋쟁이. 나는 또한 당신이 그렇게 같은 서버 경로 폭발 할 수 있다는 사실을 알고 :

$path = explode('/', $_SERVER['PATH_INFO']); 

내가 워드 프레스 그것이 퍼머 시스템의 처리하는 방법을 기능면에서 비슷한 찾고 있어요, 당신은 거의 모든 URL을 생성 할 수있는 시스템 것입니다 리디렉션 또는 페이지에서 요청할 때 요청을 처리하는 방법과 URL을 표시하는 방법을 알고 있어야합니다.

이 질문에 많은 것이 있습니까? 아니면 휠을 다시 발명해야합니까? 이것은 오랜 시간 동안 나를 괴롭혀 왔습니다. 즉석에서 사용하고 필요에 맞게 사용자 정의 할 수있는 확장 가능한 솔루션을 찾을 수 없습니다. 어쩌면 내가 계몽 할 수 있습니까?

$rewrite_object->addRule(array(
    'Page' => array(
     'label' => 'Page', 
     'rewrite' => '/' 
    ) 
)); 

이 위의 예에서 클래스 인스턴스에 의해 제어 될 수 있지만, 잘하면 내가 걸쳐 넣어 노력하고 무엇을 볼 수 있습니다)

을 당신이 어떻게 든을 통해 규칙을 정의 할 수 있습니다 생각했다.

가능한 한 많이 설명했으면합니다. 명확히하려면 - 기사, 페이지, 카테고리 또는 생각할 수있는 모든 내용이 담긴 다양한 콘텐츠에 대해 SEO 친숙한 URL을 만드는 데 필요한 구조화되고 유지하기 쉽고 확장 가능한 방법을 만드는 솔루션이 필요합니다.

나는 당신의 생각을 기다리고 있습니다!

+0

당신이 설명하는 부분은 라우터처럼 들리며, 일반적으로 프레임 워크에서 사용됩니다. [젠드 프레임 워크] (http://framework.zend.com/manual/en/zend.controller.router.html) - [CakePHP] (http://api.cakephp.org/class/router) [Symfony2] (http://symfony.com/doc/2.0/book/routing.html) –

답변

1

당신이 찾고있는 것은 router입니다 (귀하의 질문에 오해하지 않은 경우).

예를 들어 Zend Framework의 작동 방식을 확인하십시오.

라우터를 직접 구현하는 것이 매우 간단합니다.

+0

정확히 얼마나 쉬운가? 젠드를 사용하거나 내 자신의 것을 쓰는 것을 의미합니까? 어떤 사례가 있습니까? 감사! –

+1

나는 (내 자신의 커스텀 프레임 워크를 위해) 나 자신을 썼고 그리 오래 걸리지 않았다. 아이디어를 얻으려면 다른 프레임 워크가 어떻게하는지보십시오. – PeeHaa