База URL в CodeIgniter HMVC теряет www во вторичном модуле - PullRequest
0 голосов
/ 27 августа 2018

У меня вопрос, пожалуйста ... это мой проект, в котором я использую CI 3x HMVC на Linux-хостинге. У меня ошибка:

.htaccess это:

Options +FollowSymlinks
RewriteEngine on
RewriteBase /
Options -Indexes


### Redirigir la URL sin www a con www ### 
RewriteCond %{HTTP_HOST} ^myserver.com
RewriteRule (.*) https://www.myserver.com/$1 [R=301,L]

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^myserver.com [OR]
RewriteCond %{HTTP_HOST} ^www.myserver.com
RewriteRule (.*) https://www.myserver.com/$1 [R=301,L,QSA] #Falta www


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

RewriteCond $1 !^(index\.php|global|favicon\.ico|javascript)

В моем файле config.php у меня есть эта строка:

$config['base_url'] = 'https://www.myserver.com/';

Когда я загружаю https://www.myserver.com/ в основной «модуль» (спереди), я вижу во всех моих формах, что все имеют этот формат:

<form action="https://www.myserver.com/controllerxxxx" action="post"....

Проблема в том, что я загружаю модуль https://www.myserver.com/admin ... Я вижу во всех моих формах этот формат ...

Разница в "ADMIN" в том, что мой base_url https://myserver.com/ без WWW .

Что не так? Можете ли вы помочь мне, пожалуйста?

Мне нужно решить эту проблему и сохранить мой URL-сервер с WWW в модулях Front и Admin.

Спасибо!

1 Ответ

0 голосов
/ 27 августа 2018

используйте это вместо этого. поэтому замените ваш код .htaccess на этот код.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L] 
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
</IfModule>

для изменения HTTP на HTTPS попробуйте это.

 RewriteEngine On
 RewriteCond %{HTTPS} !=on
 RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
...