Самый эффективный способ закодировать SEO-дружественные URL? - PullRequest
3 голосов
/ 18 января 2012

В настоящее время я использую .htaccess и PHP для синтаксического анализа URL следующим образом:

URL :

http://blah.com/article/123_this-that-and-the-other

.htaccess :

RewriteEngine On
RewriteRule ^article/([0-9]+)_(.+)/?$   index.php?page=article&id=$1 [L]

PHP

$page = isset($_GET['page']) ? safeGET($_GET['page']) : null;
$id   = isset($_GET['id'])   ? safeGET($_GET['id'])   : null;
if ($page=='article') { include 'article.php'; } elseif { ... }

У меня начались проблемы с слишком параноидальным движком Mod_Security, которому не нравится слово "admin""в моих запросах $ _GET.Но в основном я просто ищу новые методы парсинга SEO-дружественных URL.

Кто-нибудь знает более элегантный подход?

Ответы [ 2 ]

3 голосов
/ 18 января 2012

Вы можете получить всю строку запроса как один параметр.

RewriteRule ^([^.]+)$ index.php?url=$1 [QSA,L]

Затем вы можете разбить строку с помощью php и преобразовать различные параметры в массив, чтобы делать все, что вам нравится.

0 голосов
/ 18 января 2012

Это называется "роутер".

См. Zend Controller Router fe

...