请问一个问题...这是我在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/$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 。
怎么了?你能帮我吗?
我需要解决此问题,并在Front和Admin模块中将URL服务器保留为 WWW 。
谢谢!
答案 0 :(得分:1)
使用此代替。因此,请用此代码替换您的.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]