перенаправление на / добавление www в проекте на основе URL-кода

Я пытаюсь добавить www и перенаправить все URL-адреса, отличные от www, на www urls в проекте, основанном на кодеригере, но после этого мои почтовые данные не работают. Вот содержимое файла Apache .htaccess :

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

У меня есть $config['uri_protocol'] = 'AUTO'; ,

Все работает как шарм, если у меня нет URL-адресов. Я попробовал REQUEST_URI , но это тоже не сработало.

Это связано с тем, что браузеры не будут повторно отправлять данные POST, если ответ является перенаправлением. Это нормальная и ожидаемая вещь. Что вы можете сделать, так это только переписать запросы GET с дополнительным условием:

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

Оставьте параметр $config['site_url'] в application/config/config.php пустой строкой (которая сделает CI автоматически autodetect), а в вашем коде просмотра используйте помощник site_url() или функции компоновщика форм, чтобы он используйте домен, к которому пришел запрос.