CodeIgniter HMVC 中的 Base url 在辅助模块中丢失 www
Base url in CodeIgniter HMVC lose www in secondary module
我有一个问题...这是我的项目,我在 Linux 托管中使用 CI 3x HMVC 我有一个错误:
.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/ [R=301,L]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^myserver.com [OR]
RewriteCond %{HTTP_HOST} ^www.myserver.com
RewriteRule (.*) https://www.myserver.com/ [R=301,L,QSA] #Falta www
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/ [L]
RewriteCond !^(index\.php|global|favicon\.ico|javascript)
在我的文件中 config.php 我有这一行:
$config['base_url'] = 'https://www.myserver.com/';
当我在主 "module"(前面)中加载 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.
怎么了?你能帮帮我吗?
我需要解决这个问题并在 Front 和 Admin 模块中保留我的 URL 服务器和 WWW。
谢谢!
用这个代替那个。所以用这个代码替换你的 .htaccess
代码。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/ [L]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/ [R=301,L]
</IfModule>
要将 HTTP 更改为 HTTPS 试试这个。
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
我有一个问题...这是我的项目,我在 Linux 托管中使用 CI 3x HMVC 我有一个错误:
.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/ [R=301,L]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^myserver.com [OR]
RewriteCond %{HTTP_HOST} ^www.myserver.com
RewriteRule (.*) https://www.myserver.com/ [R=301,L,QSA] #Falta www
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/ [L]
RewriteCond !^(index\.php|global|favicon\.ico|javascript)
在我的文件中 config.php 我有这一行:
$config['base_url'] = 'https://www.myserver.com/';
当我在主 "module"(前面)中加载 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.
怎么了?你能帮帮我吗?
我需要解决这个问题并在 Front 和 Admin 模块中保留我的 URL 服务器和 WWW。
谢谢!
用这个代替那个。所以用这个代码替换你的 .htaccess
代码。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/ [L]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/ [R=301,L]
</IfModule>
要将 HTTP 更改为 HTTPS 试试这个。
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]