Система переписывания Apache Mod на основе класса ООП (постоянные ссылки - удобные URL) - PullRequest
0 голосов
/ 14 декабря 2011

Теперь я искал в Интернете то, что кажется загадкой, или, может быть, я ищу неправильные вещи, но кто-нибудь знает какие-либо хорошие объектно-ориентированные способы управления «красивыми URL-адресами» в PHP с помощью Apache Mod Rewrite, которые может работать динамически, например, база данных, такая как MySQL?

Я опробовал некоторые методы с моим текущим, но "ограниченным" ноу-хау 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']);

Я ищу что-то похожее с точки зрения функциональности того, как WordPress обрабатывает систему постоянных ссылок, вы можете создать практически любой URL-адрес, и система будет знать, как обрабатывать запрос, а также как отображать + записывать URL-адреса при запросе. для перенаправлений или на странице.

Много ли это спрашивает? Или мне нужно заново изобретать колесо как таковое? Это долго беспокоило меня, что я не могу найти масштабируемое решение, которое я могу использовать «из коробки» и настраивать под свои нужды - может быть, есть, и вы можете просветить меня? ;)

Я думал, что вы могли бы как-то определить правила с помощью:

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

Это будет контролироваться экземпляром класса из приведенного выше примера, но, надеюсь, вы увидите, что я пытаюсь донести.

Я надеюсь, что объяснил это как можно больше! Чтобы уточнить - мне НУЖНО решение для создания структурированного, простого в обслуживании и расширяемого способа создания SEO-дружественных URL-адресов для различного контента, будь то статьи, страницы, категории или все, что вы можете придумать.

Я с нетерпением жду ваших мыслей!

1 Ответ

1 голос
/ 14 декабря 2011

То, что вы ищете, это router (если я не понял ваш вопрос).

Изучите, например, как Zend Framework делает это.

Было бы довольно просто реализовать роутер самостоятельно.

...