Как переписать мой URL для items / category / item-name-itemid с помощью mod rewrite? - PullRequest
0 голосов
/ 18 декабря 2010

Я хочу переписать свои URL в этой форме: / items / category / item-name-id (id - это число). Теперь мой URL выглядит следующим образом: items.php? Cat = category & name = item-name & id = 12321

О, а где мне нужно разместить код для перезаписи мода?

1 Ответ

1 голос
/ 18 декабря 2010

In .htacces:

RewriteEngine On

# Enable these for debugging, disable when done (it's "expensive")
# RewriteLog /var/log/apache2/rewrite.log
# RewriteLogLevel 9

# if the requested URI doesn't point to an existing file or directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# .. pass it off to items.php (or index.php, or..) with the path as q,
# and whatever other GET parameters were there
RewriteRule ^(.*)$ items.php?q=$1 [QSA]

mod_rewrite должен быть явно включен, а Apache conf должен предоставить вам
«AllowOverride Options»
или
«AllowOverride All»

Теперь строка "/ items / category / item-name-id" появится в вашем скрипте как параметр GET 'q', где вы можете разделить на '/' и '-', как требуется, выполните поиск в таблице длякаждый элемент и т. д.

Я склонен передавать массив q (который он есть после разбиения) первому объекту (классу Категории), который загружает второй (класс имени), который загружает третий и т. д. Ноэто полностью зависит от того, что вы собираетесь с ними делать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...