2014-11-19 3 views
0

У меня есть вопрос относительно файла .htaccess.
Я переписан динамический URL в статический следующим образом: www.mysite.com/index.php?lang=IT в www.mysite.com/itСтатический URL не перенаправляется на запрашиваемую страницу

с помощью этого правила перезаписи:

RewriteEngine On 
RewriteRule ^it/([^/]*)\.html$ /index.php?lang=$1 [L] 

До сих пор так хорошо ...

Теперь я необходимо создать еще один статический URL-адрес для динамического URL-адреса, который перенаправляет на описание продукта www.mysite.com/product_details.php?id=1485

правило вставляется в .htaccess является:

RewriteEngine On 
RewriteRule ^it/prodotto-([^-]*)-([^-]*)\.html$ /it/product_details.php?id=$1&lang=$2 [L] 

К сожалению, если я нажму на родственной связи я не могу достигнуть запрошенную страницу; но если я прокомментирую первое правило, подобное этому

#RewriteRule ^it/([^/]*)\.html$ /index.php?lang=$1 [L] 

затем я вижу страницу. Вы знаете, как решить эту проблему?

+0

Привет, я изменил регулярное выражение, но получаю тот же результат. – user4269288

+0

Сначала добавьте второе правило (prodotto ...), в противном случае первое будет соответствовать ему и прекратит обработку, как обозначено '[L]' – arco444

ответ

-1

Предполагая, что язык равен языку, который вы хотите, чтобы сценарий так поступил?

RewriteEngine On 
RewriteBase/
RewriteRule ^it/([^/]*).html$ /index.php?lang=$1 [L] 
RewriteRule ^it/prodotto-([^/]*)-([^/]*).html$ /it/product_details.php?id=$1&lang=$2 [L] 

это будет делать

yoursite.com/it/$1.html 

и

yoursite.com/it/prodotto-$1-$2.html 

?

+0

Hi iJumbo, Да, я пытаюсь получить результат выше, но как сказал, что вторая ссылка не работает. – user4269288

+0

Как arco444 сказал, что первое правило будет переопределять второе, попробуйте инвертировать их или разделить с/новым URL-адресом – iJumbo

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