Deutschland United States United Kingdom
ContentLion - Open Source CMS

Probleme mit .htaccess

Probleme mit .htaccess

Hallo

Erstmal danke für diese SUPER-Seite!!! Echt genial!

Ich versuche gerade mich in die CMS-Erstellung einzulesen und bin bei folgenden Kapitel:
http://blog.stevieswebsite.de/2009/04/sc…dank-code-blog/

Bei erscheint folgende Fehlermeldung:

Quellcode

1
2
3
4
5
Notice:  Undefined index: include in C:\xampp\htdocs\CMS\index.php on line 3

Warning:  include(content/articles/errors/404.php): failed to open stream: No such file or directory in C:\xampp\htdocs\CMS\index.php on line 3

Warning:  include(): Failed opening 'content/articles/errors/404.php' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\CMS\index.php on line 3


In der .htaccess habe ich schon alles versucht. mod_rewrite scheint unter xampp aktiviert zu sein. Was mache ich falsch? Bin der Verzweiflung nah... :-(

Wäre genial wenn du/ihr mir helfen könntet.

Lg, yab86

PS. Mein .htaccess:

Quellcode

1
2
3
RewriteEngine on
RewriteCond %{REQUEST_URI} /(.*).html
RewriteRule (.*) /CMS/index.php?include=%1

Der Fehler hat doch mit der .htaccess gar nix zu tun! ^^ :D
Statt

PHP-Quelltext

1
$_REQUEST[include]
muss seit PHP5 zwnagsweiße

PHP-Quelltext

1
$_REQUEST['include']
stehen, also quasi escapt, oder wie man das nennt. ;)
Du musst diese einfachen Anführungszeichen mal dort einfügen.
Dann ist das Problem, glaube ich, behoben. ;)

Ne, an den Anführungszeichen wirds nicht liegen. Ist zwar nicht gerade schön so, aber PHP dürfte es schlucken.

Kannst du in der index.php mal ein print_r($_GET); einbauen, um zu schauen, was rüberkommt?

An den Anführungszeichen hat es nicht gelegen - aber trotzdem vielen lieben Dank für den Support.

Der print_r($_GET); gibt folgendes aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
Warning:  include(content/articles/errors/404.php): failed to open stream: No such file or directory in C:\xampp\htdocs\CMS\index.php on line 3



Warning:  include(): Failed opening 'content/articles/errors/404.php' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\CMS\index.php on line 3

Array
(
    [include] => CMS/index.php/testseite
)


http://localhost/CMS/index.php?include=testseite funktioniert einwandfrei.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »yab86« (16. September 2013, 20:21)


Existiert die Datei "content/articles/errors/404.php" denn überhaupt? :D

error/404.php

Hallo JuKu

Danke für dein Feedback. Immer wieder schön zu sehen, dass es Menschen gibt die einem helfen.

Ne, die existiert nicht! :-( Habe diese jetzt erstellt und nun erhalte ich folgende Fehlermeldung:

Nun erhalte ich aber immer noch:

Quellcode

1
2
3
Notice:  Undefined index: include in C:\xampp\htdocs\CMS\index.php on line 4

error


Irgendwie sitzt der Wurm drin. Sorry, arbeite mich erst richtig in PHP ein.

Gruss,
Yab86

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »yab86« (17. September 2013, 22:44)


Das Problem ist, dass das CMS bei dir in einem Unterverzeichnis liegt. das wurde zu deinem Stand glaube ich noch nicht unterstützt. Leg mal einen VHost an, dann dürfte es besser gehen.

Hallo Stevie

Danke für dein Feedback. Ich werde mal das ganze eine Ebene hochschieben, bzw. das Unterverzeichnis eliminieren.

Dankende Grüsse,
yab86

Bitte! ;)

Zum Fehler:
Was steht denn in der genannten Zeile?
Deutet "Undefined index: include" nicht daraufhin, dass der Index "include" nicht im GET- o. POST- Array existiert?
Setz mal bitte nen isset() davor, dann müsste es auch gehen. ;)

Hallo JaKu

So. Stimmt, das Array ist leer... :-(

Doch leider verstehe ich nicht wieso...

Meine index.php sieht nun so aus:

Quellcode

1
2
3
4
<?php
    include("system/filterfilename.php");
    include(filterfilename("content/articles/".isset($_GET['include'])));
?>

Jetzt gibt es mir aber immer die 404.php aus...obwohl ich...
http://localhost/CMS/index.php/testseite.html
eingebe. Das verstehe ich nicht...

Das Gleiche passiert auch, wenn ich es nicht in einem Unterverzeichnis habe. :-(

So wie es aussieht, habe ich Gurkenscheiben auf den Augen...

im filterfilename wirds zur 404, da die Seite nicht gefunden wird. Musst localhost/testseite.html aufrufen.

Dann kriege ich leider folgende Meldung:

Quellcode

1
2
3
4
5
6
7
8
Objekt nicht gefunden!

Der angeforderte URL konnte auf dem Server nicht gefunden werden. Sofern Sie den URL manuell eingegeben haben, überprüfen Sie bitte die Schreibweise und versuchen Sie es erneut.

Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.
Error 404
localhost
Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7


Die testseite.php liegt doch im Ordner content/articles. Ich habe folgende Struktur:
- index.php
- .htaccess
- content
-- articles
---error
----404.php
---testseite.php
-- images
- system
--dbconnect.php
--dbsettings.php
--filterfilename.php
--settings.php
--settings.test.php
--classes
--js
--skins
- install
- admin

Das ist die Meldung vom Apache. Dann hast du dein CMS noch nicht in den Hauptordner verschoben (oder dein VHost zeigt wo anders hin)

Aber müsste nicht auch include=testseite.html gehen? ?(

ne. localhost/testseite.html dürfte gehen. Muss halt nur passend liegen.

Danke für die Antwort. Was versteht ihr unter Hauptordner - gleich unter localhost? Sorry meine Frage, aber ich bin mir gerade unsicher.

PS. Übrigens Stevie: Vielen Dank für das Tutorial! Echt der Hammer, dass es so was gibt!!!

Du hast das CMS ja aktuell in den Ordner cms liegen. Leg das mal einen Ordner höher, also in das Root-Verzeichnis (bei XAMPP direkt htdocs) oder halt über nen VHost.

Danke ;-)

Oder änderst einfach die .htaccess entsprechend. ^^
Wäre auch ne Möglichkeit! :D

Ne, da muss er auch den PHP-Code ändern ;-)

Ähnliche Themen