2016-06-15 3 views
0

В настоящее время я использую этот код, чтобы перенаправить весь запрос index.phpRedirect 301 конкретная страница вместе со всеми страницами

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 
RewriteRule ^([^.]+)/?$ index.php?get=$1 [L] 

Хотя с этим универсальным кодом, как я могу указать индивидуальную переадресацию?

Е.Г., Redirect 301 /foo http://example.com/foo-bar

+0

.htaccess, обрабатывается сверху вниз. Поместите это перенаправление над текущим блоком, который у вас есть. – slapyo

+0

@slapyo Я пробовал это, и он вроде бы работает, но я получаю строку запроса в URL-адресе, например, он перенаправляет на 'http: //example.com/foo-bar? Get = foo' вместо просто' http: // example .com/foo-bar' – IMB

+0

'RewriteRule^foo $/foo-bar [R = 301, L]' Флаг L должен заставить его остановиться и не продолжить работу с файлом .htaccess. Хороший инструмент для тестирования htaccess и просмотра того, какое правило используется или нет, это http://htaccess.mwl.be – slapyo

ответ

1

Место это выше текущего набора правил. Флаг L заставит Apache прекратить обработку остальной части файла .htaccess. Также не забудьте очистить кеш браузера.

RewriteRule ^foo$ /foo-bar [R=301,L] 

Хороший инструмент для тестирования .htaccess файлов можно найти здесь http://htaccess.mwl.be/