mod_rewrite не работает должным образом - PullRequest
0 голосов
/ 17 ноября 2011

У меня есть проблема, связанная с mod_rewrite ... перезапись URL-адреса sems работает нормально ... единственное, что URL-адрес в адресной строке остается таким же, каким он был до перезаписи

, например: iхотите переписать www.site.com/page.php?page=merchandise на www.site.com/merchandise.теперь, когда я пишу URL, я перехожу на нужную страницу (www.site.com/page.php?page=merchandise), но адрес в адресной строке остается (www.site.com/page.php?page=merchandise)где он должен быть (www.site.com/merchandise) ... он отлично работает в локальной среде ... но проблемы возникают в реальной среде ... В настоящее время я использую простой RewriteRule.

Правило переписывания выглядит следующим образом:

RewriteRule ^merchandise$ http://www.mysite.com/page.php?page=merchandise [NC]

Это довольно просто и должно работать.Но это не скрывает фактический адрес в адресной строке.Это моя проблема. В противном случае он идет на нужную страницу.

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 17 ноября 2011

Вы описываете способ, которым был создан mod_rewrite, и удивляетесь, как это работает.Это забавно:)

И кажется, что вы смешиваете вещи.

mod_rewrite здесь, чтобы скрыть сложные URL-адреса и упростить их (вообще говоря).

Вы ошибаетесь, когда говорите «www.site.com/page.php?page=merchandise» www.site.com/merchandise"

Скорее всего, все наоборот:

...

И вот что делает mod_rewrite: он просматривает входящие URL-адреса и изменяет их внутренне . Таким образом, webdevelopper (= you) может преобразовывать URL-адреса с помощью RewriteRule и делать все, что вы хотите, но это всегда на сервере . Единственное исключение - когда вы хотите явно перенаправить клиента на другие URL, тогда вы можете использовать директиву [F], что означает «Forwa».rd ".

Надеюсь, это поможет

...