所以我设置https来在我的网站上工作。主页有效。 https://mysite.com但是当您尝试转到https://mysite.com/join这样的子文件夹时,会收到以下错误消息。
未找到
在此服务器上找不到请求的网址/join/index.php。
mysite.com端口443上的Apache / 2.2.8(CentOS)服务器
就好像它无法理解codeigniter。下面是我的htaccess文件。
RedirectMatch 404 /\\.git(/.*|$)
RewriteEngine On
Options +FollowSymLinks
RewriteBase /
RewriteCond $1 !^(index\.php|images|img|js|css)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https: //%{SERVER_NAME}%{REQUEST_URI} [R=301]
ErrorDocument 404 /system/error/404page.html
我加倍检查ssl虚拟主机与其他几个开发人员,它设置正确。主页的工作原理并不奇怪,这很奇怪。我猜是因为主页上有codeigniter index.php来查看。
我将基本网址设置为https://mysite.com。
我缺少codeIgniter中的一些设置吗?
答案 0 :(得分:1)
我终于想通了。
httpd.conf中的我不得不改变这个:
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
对此:
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
我知道这很小,很讨厌。谢谢你的帮助!
答案 1 :(得分:0)
更改此行:
RewriteRule ^(.*)$ index.php?/$1 [L]
到:
RewriteRule ^(.*)$ /index.php?/$1 [L]
否则.htaccess将被重定向到join文件夹中的index.php,当然不存在。