#php #apache #.htaccess #mod-rewrite
#php #apache #.htaccess #мод-переписать
Вопрос:
На данный момент я пытаюсь переписать свои URL-адреса для удобства seo, но у меня не получается. Можете ли вы указать, где я могу ошибаться?
Я пытаюсь переписать этот URL:
http://www.chillisource.co.uk/product?amp;cat=Groceryamp;q=Daves Gourmetamp;page=1amp;prod=B0000DID5Ramp;prodName=Daves_Insanity_Sauce
К этому:
http://www.chillisource.co.uk/product/Grocery/Daves Gourmet/1/B0000DID5R/Daves_Insanity_Sauce
Это мой .htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^product/([a-zA-Z0-9] )/([a-zA-Z0-9] )/([a-zA-Z0-9] )/([a-zA-Z0-9] )/([a-zA-Z0-9] ) /product?amp;cat=$1amp;q=$2amp;page=$3amp;prod=$4amp;prodName=$5
Первая часть позволяет мне обходиться без .php в файловой системе.
В настоящее время это выдает мне ошибку 500, когда я пытаюсь перейти к:http://www.chillisource.co.uk/product/Grocery/Daves Gourmet/1/B0000DID5R/Daves_Insanity_Sauce
Я прочитал о mod_rewrite, но я начинающий программист, и мне трудно это сделать. Я не понимаю, как $1, $2, $3, $4, $5 какие переменные в моем URL передаются на другую сторону, правильно ([a-zA-Z0-9] )?
Заранее спасибо.
Комментарии:
1. Для дальнейшего использования вы могли бы заглянуть на следующий сайт. Некоторые действительно хорошие, уже работающие коды перезаписи: corz.org/server/tricks/htaccess2.php?page=all
Ответ №1:
1 доллар соответствует вашему первому набору круглых скобок в первой части вашего правила перезаписи. 2 доллара за второй набор круглых скобок и так далее.
Daves Gourmet
содержит пробел, который не учитывается в вашем 2-м шаблоне, т. Е. вещи между 2-м набором круглых скобок. Опять вы не заботитесь о _
в URL.
Я бы попробовал это
RewriteRule ^product/([a-zA-Z] )/([sa-zA-Z0-9] )/([0-9] )/([A-Z0-9] )/([a-zA-Z_] ) /product?amp;cat=$1amp;q=$2amp;page=$3amp;prod=$4amp;prodName=$5
Предполагая, что ваш параметр страницы всегда является целым числом, а ваш 4-й параметр содержит только заглавные буквы.