Возможный дубликат:
используя 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
Надеюсь, это полезно.
С уважением.