2

你好吗?

摘要:我正在尝试将我的网站从 localhost 移动到 amazon-ec2 并且几乎所有路由都会带来“在此服务器上找不到请求的 URL example.com/xxx/yyy/。

语境:

  • 在 public_html、应用程序和系统中使用 codeigniter 结构。
  • URI 中的 Web 语言。示例:localhost/public_html/es/main。
  • 对于测试,一页(注册)它的路由方式不同:localhost/public_html/admin/register。
  • 该页面从本地主机工作。

问题: 我将页面上传到我的 EC2,当我尝试访问时,几乎每个页面都显示 404 错误。只需注册页面即可,但前提是我通过example.com/index.php/admin/register调用它(example.com/admin/register 带有相同的 404 错误)。

非常欢迎任何建议或想法来探索!谢谢!!

PS:如果有帮助,我将分享我当前的 routes.php 代码。

$route['default_controller'] = "main";
$route['404_override'] = '';
$route['^(en|es)/(.+)$'] = "$2";
$route['^(en|es)$'] = $route['default_controller']; 
4

2 回答 2

4

问题出在 httpd.conf 中,其中 public_html(我有 .htacces 文件)的“AllowOverride”设置为“None”。

我只需要将其更改为全部。

感谢 AchrafSoltani 和 Grigorash 的尝试,非常感谢!

于 2012-04-30T09:02:45.453 回答
3

问题:我将页面上传到我的 EC2,当我尝试访问时,几乎每个页面都显示 404 错误。只需注册页面即可,但前提是我通过 example.com/index.php/admin/register 调用它(example.com/admin/register 带有相同的 404 错误)。

这意味着 .htaccess 缺少未正确设置。默认情况下,代码点火器依赖 index.php 来处理所有请求,但由于它在 URL 上看起来很难看,您应该添加一个带有正确参数的 .htaccess 以将其从 url 中删除,然后从 system/application 打开 config.php /config 目录并替换:

$config['index_page'] = “index.php” 

$config['index_page'] = “”
于 2012-04-27T10:47:42.790 回答