2016-07-11 5 views
1

Я следующий пример URLRewriteRule активизировать один уровень

http://myWeb.com/for-sale/whateverCategory/item-title/55 

мне это нужно, чтобы решить, чтобы:

http://myWeb.com/pages/for-sale.html?name=test-title&item_id=55 

Это то, что я пытаюсь, но это не удается:

RewriteRule ^for-sale/([^/.]*)/?$ /pages/for-sale.html?name=$1&item_id=$2 [L,QSA] 

Если я добавлю уровень /pages/ к URL-адресу, который он работает, например

http://myWeb.com/pages/for-sale/childCat/item-title/55 

Но я хочу без /pages/

Любые идеи, где я неправильно?

+0

Где находится Htaccess? – starkeen

+0

Корень веб-сайта на том же уровне, что и папка '/ pages /' –

+0

Если вам нужен URL-адрес без сегмента '/ pages /', используйте правило в '/ root/.htaccess' вместо того, чтобы использовать его в'/pages/.htaccess' – starkeen

ответ

1

Ваше правило не фиксирует значения $1 и $2 правильно в регулярном выражении.

Вы можете использовать:

RewriteRule ^for-sale/[^/]+/([\w-]+)/([\w-]+)/?$ /pages/for-sale.html?name=$1&item_id=$2 [L,QSA,NC] 
+0

Спасибо, но работает только в том случае, если у меня есть '/ pages /' в URL, например. 'http: // myWeb.com/pages/for-sale/childCat/item-title/55' - Я в идеале хочу' http: // myWeb.com/for-sale/childCat/item-title/55' –

+0

Там является каталогом 'pages', исходный URL-адрес: http: //myWeb.com/pages/for-sale.html? name = test-title & item_id = 55' –

+0

Вы имеете в виду в папке' pages'? Если нет, как я могу идти выше? Вы имеете в виду добавить случайный 'dir' в' pages' и разместить его там? –

Смежные вопросы