htaccess 301 перенаправить с запросом

1

Я пытаюсь настроить перенаправление htaccess с запросом так:

Redirect 301 /?page=services/branddevelopment /brand-development?

или это:

RewriteCond   %{QUERY_STRING}   ^page=services/branddevelopment$
RewriteRule   ^(.*)$ http://domainname/   [R=301,L]

Я что-то пропустил здесь? Или неправильный синтаксис? Он не перенаправляет так, как я хочу. Благодарю!

  • 2
    Каково фактическое происхождение и на какую страницу вы хотите перенаправить?
  • 0
    В чем заключается ошибка со вторым правилом mod_rewrite ?
Теги:
.htaccess
redirect
mod-rewrite

1 ответ

0
Лучший ответ

Я что-то пропустил здесь? Или неправильный синтаксис? Он не перенаправляет так, как я хочу. Благодарю!

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

Однако в общем случае вы не можете использовать mod_alias (Redirect) для перенаправления строки запроса, которая не будет работать.

Вы должны использовать mod_rewrite, который кажется, что вы пытались сделать. Однако вы не хотите переносить строку запроса с помощью перенаправления, поэтому вам нужно использовать ? в URL перезаписи.

Поэтому, если у вас есть такой URL-адрес

http://www.example.com/?page=services/branddevelopment

Тогда ваше правило будет

RewriteCond %{QUERY_STRING} ^page=services/branddevelopment$
RewriteRule ^(.*)$ http://domain.com/?   [R=301,L]
  • 0
    Ура! Это сработало, спасибо! Я действительно должен помнить об этом при перенаправлении строки запроса.
  • 0
    Нет проблем. Пожалуйста, примите ответ, так как он помог вам.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню