【发布时间】:2016-10-31 14:23:50
【问题描述】:
我刚刚完成了我的 CI 项目,并通过 FTP 将其上传到了外部服务器。问题是 urls 的东西在 localhost 上完美运行,但在外部服务器上却不行,尽管如果我将 index.php 放在 URI 上,urls 仍然有效。
示例:www.page.com/index.php/shop(有效)、www.page.com/shop(无效)
我进行了研究,我发现的所有答案似乎都不适合我的情况。我正在使用 Apache2 的 Linux 上工作。我进行了以下更改:
1-/var/www/dev.example.com (Apache2):
<VirtualHost *:80>
<Directory /var/www/dev.example.com>
Options FollowSymLinks
AllowOverride All
</Directory>
2-Config.php(CI):
$config['base_url'] = 'http://' . $_SERVER['HTTP_HOST'] . '/dev.example.com';
3-htaccess(CI):
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]
4-index.php(CI):
define('ENVIRONMENT', 'production')
我错过了什么?请原谅我的英语不好。
编辑:
我认为问题在于 .htaccess 文件由于某种原因没有被调用,因此对于我对文件进行的许多更改,结果将是相同的。如何查看文件是否被使用?
【问题讨论】:
-
如果主页正常,但其他页面都没有,您的上述设置是正确的,但您的路线丢失/错误/不正确。查看
config文件夹中的routes.php文件。 -
我只有一个路由调用我的主控制器:$route['default_controller'] = 'inicio';
标签: php codeigniter url