Переписать на php-сайте, слеш пропускается? - PullRequest
4 голосов
/ 10 июня 2011

Я новичок в переписывании, и сейчас у меня настоящая проблема с переписыванием. Вот что я пытаюсь сделать.

2/cat23/subcat104/Shoes (I am trying to change this url to products.php?p=2&m_id=23&s_id=104&pg=Shoes )

Выше представлено (2 = номер страницы), (23 = categoryid), (104 = Subcategoryid), (Shoes = имя подкатегории)

Теперь итерируя мой $_request, я получаю это:

p => 2
m_id => 23
pg => subcat104/Shoes (it didn't separated them since the '/' was also present between them)

Теперь следуем моему правилу перезаписи, которое выглядит нормально, но не дает результата.

*RewriteRule ^([0-9]+)/cat([0-9]+)/subcat([0-9]+)/(.+)$ products.php?p=$1&m_id=$2&s_id=$3&pg=$4 [NC]* 

и я хотел, чтобы результат был:

*p => 2
m_id => 23
s_id=>104
pg => Shoes*

1 Ответ

1 голос
/ 10 июня 2011

Я проверил ваш код, и он работает для меня, я добавил ваш код перезаписи в мой .htaccess файл:

RewriteEngine On
RewriteRule ^([0-9]+)/cat([0-9]+)/subcat([0-9]+)/(.+)$ products.php?p=$1&m_id=$2&s_id=$3&pg=$4 [NC]

Убедитесь, что вы объявили RewriteEngine On перед правилом.

Результат, который я получил от $_REQUEST, был:

Array
(
    [p] => 2
    [m_id] => 23
    [s_id] => 104
    [pg] => Shoes
)

Если проблема не устранена, опубликуйте файл .htaccess и var_dump.

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