zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Normalisierung von URLs

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 02.04.2019, 08:44
Benutzerbild von AndreasB
Erfahrener Benutzer
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 29.11.2005
Beiträge: 1.391
AndreasB wird schon bald berühmt werden
Standard Normalisierung von URLs

Moin.


Ich möchte gerne, dass ein Server URLs in normalisierter Form zurückgibt.


Die Verzeichnisstruktur auf dem Server sieht so aus:


/(keine index.php)

/de/index.php
/de/kontakt.php

/en/index.php
/en/contact.php





In der Vergangenheit habe ich, auf einem anderen Server, erfolgreich folgende Regeln verwendet. Sie funktionieren auf dem Server, den ich jetzt verwende, nicht mehr.




1. "index.*"
Code:

    RewriteEngine On
    RewriteBase /



# Weiterleitung 301 */index.php|htm|html|xml auf */

    RewriteCond %{THE_REQUEST} index\.(php|htm|html|xml) [NC]
    RewriteRule (.*)index\.(php|htm|html|xml) /$1 [NC,R=301]
Diese Regel wirkt nicht.
Bei "neu.example.tld/de/index.php" erhalte ich dieselbe URL zurück: "neu.example.tld/de/index.php".


Bei "neu.example.tld/de/index.html" erhalte ich "Not found".





2. "foo.*"


Code:
# Weiterleitung 301 */foo.php|htm|html|xml auf */foo

    RewriteCond %{THE_REQUEST} (.*)\.(php|htm|html|xml) [NC]
    RewriteRule (.*).(php|htm|html|xml) /$1 [NC,R=301]


# URLs ohne Endung mit PHP ausführen, wenn es eine Datei mit .php physisch gibt.

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule ^(.*)$ $1.php [NC,L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME}.html -f
    RewriteRule ^(.*)$ $1.html [NC,L]
Bei "neu.example.tld/de/kontakt.php" erhalte ich dieselbe URL zurück: "neu.example.tld/de/kontakt.php" (statt ""neu.example.tld/de/kontakt").


Und bei "neu.example.tld/de/kontakt.html" oder ""neu.example.tld/de/kontakt" erhalte ich "Not found".


Worin liegt bitte mein Fehler?


Deutet das Verhalten auf eine spezielle Konfiguration des Servers durch den Provider hin?

Über euren Rat freue ich mich. Danke.




Edit:
Nachdem ich bei meinem Webspaceprovider mehrmals nachgehakt hatte, funktioniert es jetzt mit diesen Regeln. Der Provider hat etwas an seiner Konfiguration geändert.
Leider konnte er mir nicht mitteilen was er getan hatte.

Meine Regeln waren offenbar jedenfalls korrekt.
__________________


Geändert von AndreasB (04.04.2019 um 07:55 Uhr)
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Gute URLs: mit oder ohne Slash am Ende AndreasB (X)HTML 23 09.05.2009 12:34
Mod-Rewrite, Clean Urls, Textpattern Dwayne Serveradministration und serverseitige Scripte 8 15.11.2008 12:53
Allgemeine Fragen zu freundlichen URLs Sodie Serveradministration und serverseitige Scripte 10 15.10.2007 22:16
Dirty Urls Midnight Serveradministration und serverseitige Scripte 4 09.06.2007 22:55
Druckversion: URLs von Links ausgeben AndreasB Barrierefreiheit 8 24.01.2007 14:42


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:20 Uhr.