Codeigniter on xampp 错误:在此服务器上找不到请求的 URL
Posted
技术标签:
【中文标题】Codeigniter on xampp 错误:在此服务器上找不到请求的 URL【英文标题】:Codeigniter on xampp error: The requested URL was not found on this server 【发布时间】:2018-04-19 23:12:57 【问题描述】:我有一个在我的 Host linux 帐户上运行良好的 CodeIgniter Web 应用程序,我正在尝试在 Windows 和 xampp 中创建一个测试环境,因此我将文件复制到 xampp\htdocs 下的文件夹并从root app 文件夹,我的问题是路由不起作用,例如 app/admin/login/signin 在主机帐户上工作正常,但在 xampp 上给我“在此服务器上找不到请求的 URL”。
我的 base_url 代码:
$ask_root = "http://".$_SERVER['HTTP_HOST'];
$ask_root .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
$config['base_url'] = $ask_root;
我的应用程序/.htaccess 文件:
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|(.*)\.swf|fonts|images|css|less|js|robots\.txt|favicon\.ico)
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule ^(.*)$ index.php/$1 [PT,L]
SetEnv TZ Asia/Jerusalem
这里有什么问题?
【问题讨论】:
【参考方案1】:不确定这是否会有所帮助,但您的 base_url 设置可能会更简洁。就这样做
$config['base_url'] = "http://".$_SERVER['HTTP_HOST'].DIRECTORY_SEPARATOR;
不管怎样,这个.htaccess
对我有用
RewriteEngine on
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule ^(.*)$ index.php/$1
您的 .htaccess 中的 setEnv
行不应导致您的问题。
【讨论】:
感谢您的帮助,但它不起作用,我仍然不明白为什么相同的设置在我的主机中有效但在 xampp 中无效?以上是关于Codeigniter on xampp 错误:在此服务器上找不到请求的 URL的主要内容,如果未能解决你的问题,请参考以下文章
只有主页显示所有其他页面在 xampp codeigniter 中显示错误 404
当我尝试运行使用 CodeIgniter 编写的项目时出现 Xampp 未知错误
Codeigniter 4 不适用于带有 PHP 8.0 的 xampp
localhost xampp 与 codeigniter 的连接使用 mssql 数据库错误作为无效的对象名称'ci_sessions'