【发布时间】:2013-12-16 18:57:50
【问题描述】:
首先,我对 codeigniter 非常熟悉,我已经在多个场合使用过它。现在我也有一个学校项目,我在服务器上安装了 codeigniter,但我相信我遇到了路由问题。
所以关于服务器的附加信息与我使用的正常环境不同,服务器使用 SSH,我认为它受到了非常奇怪的保护。您还需要用户名和密码才能首先查看 URL。 (我觉得很奇怪)
如果这有助于网址是: https://clipper.encs.concordia.ca/~pyc353_2/ 和凭据是(用户名:pyc353_2,密码:FMaqRb)
现在我可以看到我在路由中设置为“default_controller”的任何页面,但问题是试图转到任何其他页面。现在我正在尝试访问寄存器控制器,我只是得到 404(如果我将其设置为默认值,它会起作用)
我将链接所有我认为可能与错误相关的代码,希望它不是服务器设置,因为我无法控制任何更改。
config.php
$config['base_url'] = 'https://clipper.encs.concordia.ca/~pyc353_2/';
$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO';
routes.php
$route['default_controller'] = "test";
.htaccess(可能有更好的代码来执行此操作,但我过去使用它没问题,即使我删除 htaccess 并将 index.php 添加回'index_page',路由也不起作用)
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
</IfModule>
所以我尝试在 url 中访问我的页面不同变体,例如:(stackoverflow 不允许我发布超过 2 个物理链接)
clipper.encs.concordia.ca/~pyc353_2/register
clipper.encs.concordia.ca/~pyc353_2/index.php/register
虽然 /index.php/ 错误消息是:“没有指定输入文件。”
所以我希望我的解释足够清楚,很难解释我不了解源问题的东西。如果您需要任何其他信息,请随时询问。我真的需要解决这个问题才能继续我的项目。
编辑
我不知道这是否相关,但 404 消息甚至不是 codeigniter 样式,它只是看起来像一个普通的 web 404
我还在查看服务器上的路径,这是层次结构:/www/groups/p/py_comp353_2 我不知道这是否也会影响任何事情?
较新的编辑
按照我在这里找到的内容:http://ellislab.com/codeigniter/user-guide/installation/troubleshooting.html
将 index.php 更改为 index.php? (并删除 htaccess)实际上确实使路由工作。现在我对此很满意,我可以继续工作,但是这是一个丑陋的解决方案,有人知道如何保持路由工作并删除 index.php 吗?来自我的 URI?
【问题讨论】:
标签: codeigniter url ssh routes