2015-05-13 6 views
0

Я добавил эти строки, чтобы перенаправить все URL-адреса на те же URL-адреса с www.Переадресация HTACCESS с данными сообщения

RewriteCond %{HTTP_HOST} . 
RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC] 
RewriteRule (.*) http://www.domain.com/$1 [R=301,L] 
RewriteCond %{REQUEST_METHOD} !POST [NC] 

Я предоставляю API пользователям. пользователи, которые отправляют HTTP-запрос на домен.com, успешно получают правильный ответ, однако пользователи, которые отправляют HTTP-запросы на www.domain.com, не получают правильного ответа, я понял, что это связано с перенаправлением htaccess. Я не могу читать данные из своих Запросы.

Как я могу перенаправить любые URL-адреса без www с www, но сохранить данные сообщения? Я использую codeigniter.

+0

Вам нужно переместить последнее условие на одну строку. –

+0

не работал, не могли бы вы дать мне условия и правила для работы в codeigniter? – T4mer

ответ

1

комментарий Mike Rockett является правом, RewriteCond после RewriteRule директивы не является правильным способом настроить сервер Apache HTTP с .htaccess файла ..

Во всяком случае, вы можете попытаться проверить это:

RewriteCond %{HTTP_HOST} !^www\.example\.com [NC] 
RewriteCond %{REQUEST_METHOD} !^(HEAD|POST) 
RewriteRule (.*) http://www.example.com/$1 [R=301,L] 

Если приведенный выше код не работает, то вы можете просто исключить URL-адреса страниц, которые получают запрос POST, как это:

RewriteCond %{HTTP_HOST} !^www\.example\.com [NC] 
RewriteCond %{REQUEST_URI} !post-receiver\.php$ 
RewriteCond %{REQUEST_URI} !^/post-receiver-containing-folder/ 
RewriteRule (.*) http://www.example.com/$1 [R=301,L] 
+0

этот код не работает с кодомigniter htaccess. – T4mer

+0

@ T4mer Вы пытались настроить файл _.htaccess_ в корне вашего домена с этими директивами? Вы также попробовали второй вариант? – 5ervant

+0

да, я сделал это, правила не работали – T4mer

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