我的https://mydomainname.com上有一个网站。
今天工作时我必须更改文件的许可才能生成或写入(虽然我不认为任何问题是由于此引起的)并且从那时起该网站已进入重定向循环。使用codeigniter Framework在php中构建站点。
我的目录结构是:
/var/www/html/myprojectRoot
我的服务器的默认DocumentRoot是/var/www/html/
在html里面我有.htaccess文件如下:
RewriteEngine On
RewriteRule ^$ /myprojectRoot/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|javascript|images|robots\.txt)
RewriteRule ^(.*)$ /myprojectRoot/index.php/$1 [L]
我的baseurl设置为https://mydomainname.com
我可以在firebug控制台中看到sute被重定向 https://mydomainname.com和https://mydomainname.com/myprojectRoot
有人可以解释这个问题。
答案 0 :(得分:0)
保持/myprojectRoot/.htaccess
像这样:
RewriteEngine on
RewriteBase /myprojectRoot/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
然后在/myprojectRoot/application/config/config.php
内你需要有这些配置设置:
$config['base_url'] = '';
$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO';
你的根.htaccess应该是这样的:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^((?!myprojectRoot/).*)$ /myprojectRoot/$1 [L,NC]
答案 1 :(得分:-1)
我认为这不是您可能会更改代码的问题。 您应该检查执行重定向功能的代码。 在那里重定向可能会有一个检查,否则它会从重定向的位置收回。
And it become a redirect loop. From one method to another.