Дружественные URL-адреса вместо строк запроса?

Возможный дубликат:
используя seo, удобный в php
Пользовательская маршрутизация в инжекторе кода

Я создаю CMS, и я хочу использовать дружественные URL-адреса вместо Query Strings.

например:

mysite.com/cat_1 => mysite.com/cat_1/itme_1

вместо

mysite.com/?cat=1 => mysite.com/?item=1

Как мне это реализовать? любой стандартный способ?

Моя идея – использовать полудинамические страницы и создавать статические снимки с удобными URL-адресами динамических страниц, которые используют строки запросов.

Это достигается с помощью .htaccess, чтобы изменить способ отправки URL-адреса клиенту. Или, как говорят другие люди, чтобы убрать URL-адрес. Вот некоторые ссылки на статьи, которые помогут вам начать работу с правилами mod_rewrite необходимыми для выполнения этой функции.

http://net.tutsplus.com/tutorials/other/using-htaccess-files-for-pretty-urls/

http://www.roscripts.com/Pretty_URLs_-_a_guide_to_URL_rewriting-168.html

Вы хотите использовать .htaccess чтобы переписывать свои URL-адреса внутри себя и направлять их соответствующим образом в ваше приложение.

Вот конкретный пример .htaccess который будет делать то, что вы ищете:

 RewriteEngine on RewriteRule ^cat_([0-9]*) /?cat=$1 [N,QSA] RewriteRule ^item_([0-9]*) /?item=$1 [N,QSA] 

Просто поместите вышеуказанное в файл с именем .htaccess в корневую веб-папку, и вам будет хорошо идти.

Обратите внимание, что вам, возможно, придется включить mod-rewrite на вашем сервере Apache, если он еще не включен (большинство хостинг-провайдеров разрешено)

Эта функциональность не может быть реализована с использованием только PHP. Вам необходимо настроить переписывание URL-адресов для вашего HTTP-сервера, который преобразует удобные URL-адреса в строки запросов, которые могут понять ваши сценарии. В случае с Apache вы должны изучить mod_rewrite , который обычно можно настроить через файлы .htaccess .

Как насчет использования шаблона MVC для PHP?

http://www.tonymarston.net/php-mysql/model-view-controller.html http://oreilly.com/pub/a/php/archive/mvc-intro.html http: //www.codeproject. ком / Советы / 401121 / MVC-в-PHP

Arun

используйте asp.net mvc, вы получите его бесплатно;) но со всей серьезностью я думаю, что у PHP есть веб-движок ( воспламенитель кода ), который также обеспечивает расширенную маршрутизацию. Кроме того, вы можете сыграть свою роль, используя некоторую черную магию Apache

Вы можете использовать фреймворк вроде Codeigniter: http://ellislab.com/codeigniter

И обзор: http://ellislab.com/codeigniter/user-guide/general/urls.html

Вам нужно будет активировать mod_rewrite и создать файл .htaccess

.htaccess с Codeigniter:

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

Затем вы можете использовать:

 example.com/class/function/ID 

Надеюсь, это полезно.

С уважением.