Помощь Apache Mod_rewrite для начинающих - PullRequest
0 голосов
/ 27 мая 2010

Я не очень знаком с apache mod_rewrite.

У меня есть параметры URL, такие как {domain}/index.php?blog=5

Я просто хочу сделать это {domain}/home.php?client=5

Это такая простая задача, как это звучит, и может ли кто-нибудь помочь?

Ответы [ 2 ]

0 голосов
/ 02 февраля 2012

Это кажется довольно простым, если честно - как только вы погрузитесь в mod_rewrite, это не так сложно.

Звучит так, как будто вы хотите добавить

RewriteEngine on
RewriteRule ^/index.php?blog=(.+)$ /home.php?client=$1

к вашей конфигурации.

Некоторые предостережения:

  • Если вы помещаете это в файл .htaccess, удалите / из строки RewriteRule.
  • Если вы хотите сделать это без учета регистра, добавьте [NC] в конец этой же строки.
  • Если вы хотите, чтобы пользователи увидели изменение URL-адреса (отправив перенаправление 302 Found в браузер), добавьте [R] в конец строки RewriteRule.
  • Если вы хотите, чтобы как 302 Found, так и URL были чувствительными к регистру, объедините две инструкции как [NC,R] в конце строки RewriteRule.

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

0 голосов
/ 27 мая 2010

Следующие могут работать, попробуйте

RewriteCond %{REQUEST_URI} ^/home.php [NC]
RewriteCond %{QUERY_STRING} client=([0-9]+) [NC]
RewriteRule (.*) http://%{REMOTE_HOST}/index.php?blog=%1 [L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...