Intereting Posts
Регуляция регулярных выражений (PHP) Включить ошибки в браузере при разборе PHP-файлов PHP, отображающий китайские символы: SET NAMES 'utf8' не работает PHP Pagination показывает первые две страницы и последние две страницы Как я могу отправить дату с одного сайта на другие сайты? Как увеличить максимальный размер загрузки в cPanel? Как вставить строку внутри другой строки? Монгольский атлас и PHP PHP Как открыть несколько источников с помощью curl? как аутентифицировать заголовок Soap на сервере nusoap в PHP? <head profile = "http://gmpg.org/xfn/11"> что это? Включение PHP в IIS Express с помощью Visual Studio (без WebMatrix) Вызов неопределенной функции mcrypt_decrypt () – даже если установлен php5-mcrypt Запуск PHP: невозможно загрузить динамическую библиотеку php5.4.3 / ext / php_ffmpeg.dll не является допустимым приложением Win32 Объедините 2 массива в третий массив с непостоянными уникальными ключами из одного массива

Самый эффективный способ кодирования дружественных URL-адресов для SEO?

В настоящее время я использую .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. Но в основном я просто ищу новые методы анализа сильных URL-адресов.

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

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

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

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

Он называется «маршрутизатор».

См. Zend Controller Router fe