Заменить 1 символ из ссылки

#apache #.htaccess

#apache #.htaccess

Вопрос:

У Google есть старая ссылка:

 http://example.com/blog/?top-name-electronics-at-great-prices
  

И мне нужна старая ссылка для работы и перенаправления на:

 http://example.com/blog/top-name-electronics-at-great-prices
  

Я знаю, что это должно быть легко, но пробовал так много вещей и получал только ошибки.

Ответ №1:

Вы можете использовать это правило в качестве самого первого правила в вашем .htaccess:

 RewriteEngine On

RewriteCond %{QUERY_STRING} .
RewriteRule ^blog/?$ /$0%{QUERY_STRING}? [L,NC,R=301,NE]
  

Однако, если внутри уже есть .htaccess blog/ , используйте это правило:

 RewriteCond %{QUERY_STRING} .
RewriteRule ^/?$ /blog/%{QUERY_STRING}? [L,R=301,NE]
  

Комментарии:

1. Большое вам спасибо! Да, это сработало, но по какой-то причине я получаю дополнительный ‘/’,

2. И /blog/?запрос превращается в это: /blog//query

3. ‘/blog/?query’ становится ‘/blog//query’ мне нужно, чтобы он был без второй косой черты