2013-06-12 2 views
3

У меня проблема с Joomla - google, похоже, проиндексировал мою запись, которую я удалил, но я забыл удалить запись в меню, так что теперь Google проиндексировал этот сайт :.htaccess переписать запрос url, начинающийся с вопросительного знака

http://www.madplanuge.dk/?Itemid=134 

я тусклый, чтобы перенаправить его (.htaccess) на этот адрес: http://www.madplanuge.dk/madplan/lav-madplan

Как бы вы сделать это. я уже пытались следующее:

RewriteRule^\ Itemid = 134 http://www.madplanuge.dk/madplan/lav-madplan? [R = 301, L]

RewriteCond% {REQUEST_URI}^\ Itemid = 134 $
RewriteRule^\ ItemId?? = 134 $ http://www.madplanuge.dk/madplan/lav-madplan? [R = 301, L]

Ни один из вышеперечисленных решений не работал.

ответ

4

Вы не можете сделать это с помощью RewriteRule, потому что Apache игнорирует строку запроса. Здесь я делаю перенаправление, если строка запроса содержит идентификатор, который мы ищем.

RewriteCond %{QUERY_STRING} Itemid=134 [NC] 
RewriteRule ^.*$ http://%{HTTP_HOST}/madplan/lav-madplan? [R=301,L] 

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

+0

Да, человек. Большое спасибо. Это, кажется, исправляет мою проблему !! - Я изо всех сил пытался индексировать мои страницы Google, так как внес некоторые изменения в структуру url сразу после того, как я проиндексировал мои страницы, и я не знал, что мои страницы, где индексируются все, поэтому я не настроил 301 переадресацию. Итак, теперь я собираюсь перенаправить все старые страницы –

1

Вы делаете 2 вещи неправильно:

  • %{REQUEST_URI} всегда начинается с косой черты, так что RewriteCond нужно ^/\? вместо ^\?

  • Измените ^\?Itemid=134$ в RewriteRule для ^.*$. RewriteRule принимает весь URL как первый аргумент, а не только URI запроса.

Более подробная информация о Apache переписывает можно найти here.

+0

Он все еще не работает. я исправил ваши 2 ошибки, и я все еще не могу заставить его работать - теперь он выглядит так: 'RewriteCond% {REQUEST_URI} ^/\? itemid = 134 $' 'RewriteRule ^. * $ madplanuge.dk/madplan/ LAV-madplan? [R = 301, L] ' –

+0

' madplanuge.dk/madplan/lav-madplan? 'Должен быть' http: //madplanuge.dk/madplan/lav-madplan? ', Потому что он должен начинаться с' http: // ' –

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