【问题标题】:Codeigniter on xampp error: The requested URL was not found on this serverCodeigniter on xampp 错误:在此服务器上找不到请求的 URL
【发布时间】: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

这里有什么问题?

【问题讨论】:

    标签: php apache .htaccess codeigniter xampp


    【解决方案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 中无效?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-07
    • 2017-09-09
    • 1970-01-01
    • 1970-01-01
    • 2017-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多