2016-07-06 18 views
0

Ich fange an, eine php-Anwendung auf Remote-Server mit Codeigniter und Netbeans zu implementieren. Ich verstehe nicht, warum ich immer noch (404 nicht gefunden) habe, auch wenn ich die ganze Konfiguration gemacht habe. Die Verbindung zum Server ist in Ordnung, ich kann die Dateien hochladen. In $ config ['base_url'] habe ich versucht, die Adresse des Servers, den Pfad zu index.html, nichts ... ohne Ergebnisse. Ich weiß eigentlich nicht wo das Problem liegt und welche Datei ich ändern muss, wenn mir jemand bitte helfen kann eine Lösung zu finden.Config Codeigniter auf Remote-Server (404 nicht gefunden)

Vielen Dank für Ihre Antworten!

Antwort

1

Es ist ein bisschen schwer, Ihre Frage zu beheben, ohne Ihre Konfiguration zu sehen. Ich würde sagen, zuerst überprüfen Sie, dass Ihre $ config ['base_url'] wie Sie erwähnt, aber setzen Sie es auf was auch immer der Name der Site/Adresse ist. Zum Beispiel etwas, wenn ich nur lokal ausgeführt bin auf Port 8888, würde es so aussehen

$config['base_url'] = 'http://localhost:8888/'; 

Also, wenn Ihre Website war so etwas wie wwww.example.com wäre es

sein
$config['base_url'] = 'http://www.example.com/'; 

Auch Doppel - Überprüfe deine .htaccess-Datei, um den Zugriff neu zu schreiben, wenn du 'index.php' von der URL entfernen möchtest. Welchen Webserver verwenden Sie für Ihre Site?

+0

Mein $ config ['base_url'] sieht wie folgt aus: $ config ['base_url'] = 'https: //xx.xx.xx.xx/'; (IP des Servers) Was soll ich in meiner Zugangsdatei ändern? Ich benutze Apach als Webserver. – jani

+0

Wenn Sie auf Ubuntu sind, verwenden Sie den Befehl 'a2enmod rewrite' und starten Sie den Apache Server neu. Dies sollte mod_rewrite für Ihren Apache-Server aktivieren. Überprüfen Sie auch Ihre config.php Datei und setzen Sie $ config ['index_page'] = ''; –

+0

Ich bin auf redhat 6.6, es funktioniert nicht. $ config ['index_page'] = '' index.php " Ich habe keinen Code geschrieben, ich möchte die Startseite von codeigniter bekommen, um mit dem Codieren zu beginnen. Meine Datei.htaccess sieht so aus: es sieht so aus: Erfordert alle verweigert Verweigern von allen – jani

0

Bei einigen Hosting-Providern ist Mod_Rewrite standardmäßig deaktiviert. Verwenden Sie phpinfo(), um zu prüfen, ob es aktiviert ist.

+0

Ich habe keine mod_rewrite in meiner Zugangsdatei, es ist normal? es sieht aus wie: alle erfordern verweigert von allem ich den Pfad verwendet jani

1

Sie sagen "der Pfad zu index.html". So funktioniert CI nicht. Sie sollten nicht direkt auf Ansichten zugreifen. Versuchen Sie, mit Ihren Controllern auf sie zuzugreifen. Zum Beispiel können Sie einen Controller "Willkommen" (der Standard-Controller, wenn Sie das Framework herunterladen) haben. Es kann wie folgt aussehen:

<?php defined('BASEPATH') OR exit('No direct script access allowed'); 
class Welcome extends CI_Controller { 
    function index() 
    { 
     $this->load->view('welcome_message'); 
    } 
} 

Dieser Regler sollte in application/controllers befinden und es wird eine Ansicht in der Anwendung/Ansichten laden. In diesem Fall wird 'application/views/welcome_message.php' geladen. Sie können die URL für den Controller in application/config/routes.php definieren. Standardmäßig wird der Controller 'Willkommen' aufgerufen, wenn Sie das Framework einfach herunterladen. Sie sprechen auch über die .htaccess-Datei. Sie können eine htaccess-Datei verwenden, wenn Sie index.php entfernen möchten? von der URL. Eine Antwort auf diese Frage finden Sie hier: CodeIgniter removing index.php from url

Ich empfehle wirklich einige CI Grundlagen Tutorials zu sehen, bevor Sie mit dem Framework starten. Sie können innerhalb weniger Stunden nachvollziehen, wie das Framework und seine Ordnerstruktur funktioniert.

** Bearbeiten **
Vielleicht ist das Problem nicht mit Codeigniter, aber mit Ihrem Webserver können Sie Ihre Code-Installation entfernen und eine PHPinfo-Datei hinzufügen. Auf diese Weise können Sie sehen, welche PHP-Einstellungen Ihr Server hat (wenn php überhaupt aktiviert ist). Beachten Sie auch, dass nginx nicht mit .htaccess funktioniert. Wenn Sie einen nginx-Server verwenden, sollten Sie eine Rewrite-Regel in Ihrer Konfigurationsdatei hinzufügen.

+0

die erste URL Deny war aber WELCOME_MESSAGE, wenn es Arbeit does'nt habe ich versucht, etwas anderes was ich im Netz finde. Ich habe CI bereits für eine lokal ausgeführte Anwendung verwendet und ich habe kein Problem gefunden, aber auf dem Remote-Server habe ich nicht warum mit der gleichen Konfiguration habe ich immer noch den Fehler 404 nicht gefunden. Ich habe auch index.php in der URL hinzugefügt, um keine htaccess-Datei zu verwenden, aber keine Ergebnisse:/ – jani

+0

Das Problem könnte in Ihrem Webserver und nicht in ci sein. Ich habe meinen Beitrag so bearbeitet, dass Sie diesen Fehler beheben können. Auch eine "schmutzige" Art zu prüfen, ob eine htaccess-Datei funktioniert, besteht darin, etwas wie foo bar hineinzuschreiben. Wenn Ihr Server einen Fehler zurückgibt, wissen Sie, dass Ihre Datei funktioniert. – StackerStan