Okay dann habe ich vielleicht etwas grundlegendes falsch verstanden. Kann mir denn jemand einen Tipp geben wie ich die Endungen/Extensions der Seite nicht mit anzeige?
Ankündigung
Einklappen
Keine Ankündigung bisher.
Content zwischen Header und Footer ändern - URL anpassen ohne .php am Ende
Einklappen
Neue Werbung 2019
Einklappen
X
-
Da kommt dann das... Not Found
The requested URL /page/news was not found on this server.
Ich habe ja keine andere Möglichkeit dynamisch Inhalt innerhalb der Website mit PHP zu laden ohne die gesamte Seite neu laden zu müssen. Ich muss ja Parameter in der URL verwenden oder nicht? Also ich habe momentan absolut keine Ahnung wo ich da anfangen soll zu suchen.
Kommentar
-
Ich muss ja Parameter in der URL verwenden oder nicht?
Du verlinkst im HTML (= Ausgabe von PHP) einfach so wie die Links im Browser dann aussehen sollen, und via mod_rewrite teilst du dann den Webserver mit wo er an Hand dieses Links (= Request) dann die Ressource ( ~ "Seite") findet.
In #4 habe ich das (http://www.php-rocks.de/thema/58-ein...-umsetzen.html) schon verlinkt, schon angesehen? Schau dir das mal "mit Hirn" an, ich finde Arne Drews hat das dort gut erklärt.The string "()()" is not palindrom but the String "())(" is.
Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
PHP.de Wissenssammlung | Kein Support per PN
Kommentar
-
Zitat von Dormilich Beitrag anzeigenUnd hier benutzt du mod_rewrite um aus /page/news eine URL zu basteln, die der Apache-Server zuordnen kann.
z.B.
Code:# /page/news => index.php?page=news RewriteRule ^(\w+)/(\w+)$ index.php?$1=$2
Kommentar
-
Habe mir die Seite aus #4 noch einmal durchgelesen.
Nun bin ich bei folgendem Problem...
Ich habe zum testen mal diesen Code verwendet:
PHP-Code:$aPath = pathinfo( $_SERVER['REQUEST_URI'] );
switch ( $aPath['dirname'] ) {
case '/login':
$sIncludePath = '/login';
break;
default:
$sIncludePath = '/home';
break;
}
// $aPath['filename'] .
var_dump(__DIR__ . $sIncludePath . '.php');
include_once __DIR__ . $sIncludePath . '.php';
Code:/var/www/web123/html/example/home.php
Sobald ich aber auf einen Link klicke, funktioniert das alles nicht mehr.
Liegt das vielleicht daran dass die Seite in einem Unterordner ist?
www.example.com/example
wenn ich inCode:<a href="example/login">LINK</a>
Code:<a href="/login">LINK</a>
Zuvor habe ich ja mit $_GET['page'] nur einen bestimmten Teil der Seite neu geladen, ist das damit nicht mehr möglich?
Kommentar
-
Was sagt denn var_dump() in den Fällen, wo es Deiner Meinung nach nicht funktioniert?
Competence-Center -> Enjoy the Informatrix
PHProcks! • Einsteiger freundliche Tutorials • PreComposed Packages
Kommentar
-
Naja wenn ich auf meiner Startseite bin und dann z.B. auf den Link LOGIN klicke welcher mit href="login" angegeben wurde, funktioniert es nicht mehr.
Hier kommt dann folgendes: Not Found
The requested URL /login was not found on this server.
Und in der URL steht dann dasCode:https://example.com/login
Davon ab möchte ich ja gern die INDEX Seite immer auf haben und nur den mittleren Bereich neu laden, ist dies mit aufrufen einer URL wieCode:https://example.com/example/login
Ich habe gerade noch keine Vorstellung wie ich mit einem LINK Klick die Index-Seite mit dem richtigen Mittelteil aufrufen soll.
Kommentar
-
Ich würde Dir erst mal empfehlen mal irgendwo durchzulesen was URLS sind und wie diese Funktionieren.
/login ist ein absoluter URL Pfad. und hat absolut nix mit /example/login zu tun,
Aber all das spiel doch erst dann eine Rolle wenn Mod Rewrite bei Dir läuft,
Lege die htaccess wie in #12 gezeigt an, räume das komplette Verzeichnis in dem die Index.php und .htaccess liegt leer (bis auf diese beiden Dateien)
Schreibe erst mal in die Index.php nur eine Ausgabe anhand der Du erkennst das die Index.php aufgerufen wurde (z.B. phpinfo()) und rufen eine beliebige nicht existierende URL da auf. Es sollte das angezeigt werden was die index.php ausgiebt.
Ist das nicht der Fall is mod_rewrite nicht aktiv oder kaputt konfiguriert.
Kommentar
-
In der "Meldung" Not Found schreibt er Dir auch, was er wo versucht hat zu erreichen. Das enthältst Du uns, bzw. schaust es Dir vermutlich selber gar nicht an.
Da findet man meistens seine eigenen Fehler.
Competence-Center -> Enjoy the Informatrix
PHProcks! • Einsteiger freundliche Tutorials • PreComposed Packages
Kommentar
-
Zitat von Ulfikado Beitrag anzeigenIch würde Dir erst mal empfehlen mal irgendwo durchzulesen was URLS sind und wie diese Funktionieren.
/login ist ein absoluter URL Pfad. und hat absolut nix mit /example/login zu tun,
Aber all das spiel doch erst dann eine Rolle wenn Mod Rewrite bei Dir läuft,
Lege die htaccess wie in #12 gezeigt an, räume das komplette Verzeichnis in dem die Index.php und .htaccess liegt leer (bis auf diese beiden Dateien)
Schreibe erst mal in die Index.php nur eine Ausgabe anhand der Du erkennst das die Index.php aufgerufen wurde (z.B. phpinfo()) und rufen eine beliebige nicht existierende URL da auf. Es sollte das angezeigt werden was die index.php ausgiebt.
Ist das nicht der Fall is mod_rewrite nicht aktiv oder kaputt konfiguriert.
nun habe ich oben an die URL noch etwas nicht existierendes gehangen
Das öffnet die Index Seite:Code:www.example.com/unterordner/
Code:www.example.com/unterordner/test
Zitat von Arne Drews Beitrag anzeigenIn der "Meldung" Not Found schreibt er Dir auch, was er wo versucht hat zu erreichen. Das enthältst Du uns, bzw. schaust es Dir vermutlich selber gar nicht an.
Da findet man meistens seine eigenen Fehler.
Kommentar
-
Kurze Zwischenfrage bitte - interessehalber:
Zitat von hellbringer Beitrag anzeigenDie Umleitung müsste so aussehen:
Code:RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L]
Code:FallbackResource /index.php
https://httpd.apache.org/docs/trunk/...llbackresource
Use this to set a handler for any URL that doesn't map to anything in your filesystem, and would otherwise return HTTP 404 (Not Found). For example
FallbackResource /not-404.php
will cause requests for non-existent files to be handled by not-404.php, while requests for files that exist are unaffected
In earlier versions of httpd, this effect typically required mod_rewrite, and the use of the -f and -d tests for file and directory existence. This now requires only one line of configuration.
FallbackResource /index.php Existing files, such as images, css files, and so on, will be served normally.The string "()()" is not palindrom but the String "())(" is.
Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
PHP.de Wissenssammlung | Kein Support per PN
Kommentar
-
Natürlich lese ich was da steht, hilft mir nur leider trotzdem kaum weiter.Competence-Center -> Enjoy the Informatrix
PHProcks! • Einsteiger freundliche Tutorials • PreComposed Packages
Kommentar
-
Zitat von Arne Drews Beitrag anzeigenDeshalb sollst Du die ganze Meldung posten, damit wir Dir evtl. sagen können, was da falsch läuft!
The requested URL /example/home was not found on this server.
Apache Server at example.com Port 443
Kommentar
Kommentar