Я хочу переписать мои URL-адреса в этой форме: / items / category / item-name-id (идентификатор – номер). Теперь мой URL-адрес выглядит так: items.php? Cat = category & name = item-name & id = 12321
О, и где мне нужно поместить код для mod-rewrite?
В .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 All"
Теперь строка «/ items / category / item-name-id» появится в вашем скрипте как параметр GET «q», где вы можете разделить на «/» и «-» по мере необходимости, искать таблицы для каждого элемента и т. Д.
Я стараюсь передать массив q (который он после разбиения) на первый объект (класс категории), который загружает второй (класс Name), который загружает третий и т. Д. Но это полностью зависит от того, что вы собираетесь сделайте с ними.