Zur Navigation

Alle Seiten ohne die .php Endung außer Unterverzeichnis

1 qwerti

Hallo Jörg,

ich bräuchte bitte nochmal deine .htaccess Kompetenz.

Ich möchte gern alle Seiten ohne die .php Endung ausgeben.
Das funktioniert mit dem folgenden Code auch wunderbar.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]

Jedoch habe ich dann das Problem, dass er beim Aufruf der URL "https://www.meineSeite.de/meinUnterverzeichnis/" auf die 404 Page springt.

Nur wenn man "https://www.meineSeite.de/meinUnterverzeichnis/index" eingibt, öffnet er die Startseite.

Ist es möglich, dass wenn man die URL "https://www.meineSeite.de/meinUnterverzeichnis/" aufruft, das index weggelassen werden kann, aber bei alle weiteren Seiten ohne .php Endung in der URL mit angezeigt werden?

Bsp. index Seite auch mit ankern
https://www.meineSeite.de/meinUnterverzeichnis/index
https://www.meineSeite.de/meinUnterverzeichnis/index#ueber-mich

wobei das index nicht mit auftauchen sollte

https://www.meineSeite.de/meinUnterverzeichnis/
https://www.meineSeite.de/meinUnterverzeichnis/#ueber-mich

Bsp. buchung Seite
https://www.meineSeite.de/meinUnterverzeichnis/buchung

27.01.2023 12:47

2 Jörg Kruse

Ich möchte gern alle Seiten ohne die .php Endung ausgeben.
Das funktioniert mit dem folgenden Code auch wunderbar.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]

... aber nicht in Bezug auf die Endung .php ;) die betreffenden URLs werden auf die entsprechende Datei mit der Endung .html rewritet

Jedoch habe ich dann das Problem, dass er beim Aufruf der URL "https://www.meineSeite.de/meinUnterverzeichnis/" auf die 404 Page springt.

Wenn es sich um ein reales (d.h. nicht rewritetes Verzeichnis) handelt, sollte es reichen, wenn du auch Verzeichnisse von dem Rewrite ausschließt:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.html [NC,L]

27.01.2023 15:26

3 qwerti

Perfecto, danke Jörg

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

28.01.2023 12:12

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]