我使用https时,index.PHP没有删除,但它适用于http.
我需要做的是我的网站正常工作,例如它适用于http和https.任何遇到同样问题的人都会帮我解决这个问题.
我需要做的是我的网站正常工作,例如它适用于http和https.任何遇到同样问题的人都会帮我解决这个问题.
例如:在http
> http://xyz.mydomain.com/users/login //工作正常
> http://xyz.mydomain.com/index.php/users/login //工作正常
在https
1)https://xyz.mydomain.com/users/login //找不到404页面
2)https://xyz.mydomain.com/index.php/users/login //工作正常
我的htaccess代码
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$index.PHP/$1 [L] </IfModule>
$root=(isset($_SERVER['HTTPS']) ? "https://" : "http://").$_SERVER['HTTP_HOST']; $root.= str_replace(basename($_SERVER['SCRIPT_NAME']),'',$_SERVER['SCRIPT_NAME']); $config['base_url'] = $root;
似乎您的主机文件中存在问题.
如果您使用的是apache,请更改您的主机文件;
如果您使用的是apache,请更改您的主机文件;
<VirtualHost *:443> ServerAdmin admin@example.com 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>
<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>
快乐编码:)