0

所以我设置了 https 在我的网站上工作。主页工作。https://mysite.com但是当您尝试转到 https://mysite.com/join 之类的子文件夹时,您会收到以下错误。

未找到

在此服务器上未找到请求的 URL /join/index.php。

Apache/2.2.8 (CentOS) 服务器在 mysite.com 端口 443

好像看不懂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 可供查看。

我将基本 URL 设置为https://mysite.com

我缺少 codeIgniter 中的某些设置吗?

4

2 回答 2

1

我终于想通了。

在 httpd.conf 我不得不改变这个:

<Directory />
Options FollowSymLinks
AllowOverride None

</Directory>

对此:

<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>

我知道这是一件如此小而烦人的事情。谢谢你们的帮助!

于 2013-07-02T21:49:36.723 回答
0

更改此行:

RewriteRule ^(.*)$ index.php?/$1 [L] 

至 :

RewriteRule ^(.*)$ /index.php?/$1 [L] 

否则,.htaccess 将相对于连接文件夹中的 index.php 重定向,当然它不存在。

于 2013-06-30T10:04:41.943 回答