index.php is not removing while i use https but it works for http. What I need to do is my site work properly such as it works on http and https both. Anybody faced same issue help me to fix this.
Ex: In http
IN https
1) https://xyz.mydomain.com/users/login // 404 page not found
2) https://xyz.mydomain.com/index.php/users/login // works fine
MY htaccess code
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
config.php My base url is set as
$root=(isset($_SERVER['HTTPS']) ? "https://" : "http://").$_SERVER['HTTP_HOST'];
$root.= str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
$config['base_url'] = $root;
Seems that there is a problem in your host file. If you are using apache, change your host file like;
<VirtualHost *:443>
ServerAdmin [email protected]
DocumentRoot /path
ServerName xyz.mydomain.com
ServerAlias www.xyz.mydomain.com
SSLEngine On
SSLOptions +StrictRequire
SSLCertificateFile /path to ssl file/mydomain.crt
SSLCertificateKeyFile /path to ssl file/mydomain.key
SSLProtocol TLSv1
<Directory "/path">
Require all granted
Options -FollowSymLinks -Includes -ExecCGI -Indexes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
RewriteEngine On
</VirtualHost>
Now chnage your htaccess file like:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://xyz.mydomain.com/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
Happy Coding :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With