2017-01-12 9 views
1

Я получил этот адрес
category/product/index.php?itemid=WdS7Dk3L&title=new-productRewrite URL с дополнительным параметром

я хотел бы переписать его на это и где второй параметр является необязательным
category/product/WdS7Dk3L/new-product
или
category/product/WdS7Dk3L/

Мои htaccess размещается в
category/product/.htaccess

I ' у меня это получилось от this post, но я не могу заставить его работать.
RewriteRule ^category/product/([^/]*)/?(.*)$ index.php?itemid=$1&title=$2

Пожалуйста, помогите мне указать на правильное направление. Спасибо.

ответ

1

.htaccess перезаписи файла спички относительно расположения файла .htaccess, поэтому используйте:

RewriteRule ^([^/]+)(?:/(.*))?$ index.php?itemid=$1&title=$2 

Вы только указанный второй параметр, как опция, поэтому я изменил первый * (ноль или более) a + (один или несколько, как в чем-то там) и удалили? (необязательно) на косой чертой, поскольку это было в обоих примерах.

Обновление

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

+0

Да ... все. Спасибо. – scorpion

+1

Отлично. Я замечаю, что вы новичок в SO. То, что нужно сделать с правильным ответом, это принять его с отметкой в ​​левом верхнем углу, и теперь у вас есть более 15 репутации, вы можете ее также повысить, чтобы сказать, что это полезно (стрелка вверх рядом с галочкой). Это дает мне некоторую репутацию для ответа и помогает другим легко понять, что это сработало для вас. Благодаря! – SuperDuperApps

+0

Могу я задать еще один вопрос? Что мне нужно сделать, чтобы принять конечную косую черту, а не? 'category/product/WdS7Dk3L /' и 'category/product/WdS7Dk3L' – scorpion