Zur Navigation

Woher kommt der Slash am Ende?

1 qwerti

Hallo Jörg,

kannst Du mal bitte über die .htaccess drüberschauen, was genau stimmt hier nicht. Wenn nein, wie sollte sie richtig aussehen?

Folgenden Fehler, ich möchte gern das es möglich, dass die URL ohne der Endung .php ausgegeben werden können, wenn ich im Browser allerdings die URLs ohne .php eingebe, lande ich immer auf der 404 Seite

Bsp. wenn ich diese URL eingebe
https://www.meineURL.de/de/index.php

Das Bsp. wird dann auf diese Seite umgeleite, weshalb weiß ich nicht
https://www.meineURL.de/de/index/
Weshalb macht er immer den Slash mit rein?

Hier meine .htaccess


RewriteEngine On

# URL ohne Dateiendung
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

# Weiterleitung für Google Anzeige
RewriteCond %{QUERY_STRING} gclid=
RewriteRule ^$ https://www.meineURL.de/? [R=301,L]

# ERRORS
ErrorDocument 404 /de/404.php

# Zeichenkodierung HTTP Header
AddDefaultCharset UTF-8

# Disable X-Powered HTTP-Header 
Header always unset x-powered-by

# Disable server signature
ServerSignature Off

# Weiterleitung auf HTTPS und www
RewriteCond %{HTTP_HOST} !^www.meineURL.de$
RewriteRule ^(.*)$ https://www.meineURL.de/$1 [R=301,L]

RewriteCond %{SERVER_PORT} !=443
RewriteRule ^(.*)$ https://www.meineURL.de/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^(www.)?meineURL.de$
RewriteRule ^(/)?$ de/index.php [L]

31.08.2021 13:44

2 Jörg

wenn ich im Browser allerdings die URLs ohne .php eingebe, lande ich immer auf der 404 Seite

Bsp. wenn ich diese URL eingebe
https://www.meineURL.de/de/index.php

Das ist jetzt widersprüchlich: gibst die URL nun mit oder ohne Endung .php ein?

Weshalb macht er immer den Slash mit rein?

Hast du da ein CMS installiert? WordPress z.B. haut in den Standardeinstellung noch einen Slash an die URL.

31.08.2021 17:05

3 qwerti

Hi Jörg,

danke für das schnelle Feedback.

Das ist jetzt widersprüchlich: gibst die URL nun mit oder ohne Endung .php ein?

Nein, ich gebe die URL ohne der Endung .php ein.

Hast du da ein CMS installiert? WordPress z.B. haut in den Standardeinstellung noch einen Slash an die URL.

Nein, ich verwende kein CMS.

Also liegt es nicht an der .htaccess, die müsste demnach so funktionieren, so dass die Links auch ohne .php funktionieren?
https://www.meineURL.de/de/index

31.08.2021 18:07

4 qwerti

Folgendes habe ich noch festgestellt.

Auf der 1. Ebene also https://www.meinURL.de funktioniert der Code.

# URL ohne Dateiendung
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

Auf der 2. Ebene, also einen Ordner höher, funktioniert es nicht mehr

sobald ich diese URL eingebe, https://www.meinURL.de/de/index

leitet er mich automatisch auf die URL mit Slash weiter

https://www.meinURL.de/de/index/

Vielleicht hilft das weiter.

31.08.2021 19:12

5 Jörg

Gibt es eine /de/.htaccess ?

31.08.2021 19:26

6 qwerti

Gibt es eine /de/.htaccess ?

Nein, bisher nicht.

Habe ich aber eben wie folgt angelegt und im Verzeichnis /de/ abgelegt. Funktioniert leider auch nicht, nach wie vor das Gleiche. Ich werde immer auf die Seite mit dem Slahs weitergeleitet.

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

Hast Du noch eine Idee woran es liegen könnte?

31.08.2021 19:42

7 qwerti

Also wenn ich in der htaccess 404 rausnehme, kommt folgender Fehler.

Not Found

The requested URL was not found on this server.

Weshalb mach er dann den Fehler mit dem Slash bei 404 wenn ich es in der htaccess aktiviere?

# ERRORS
ErrorDocument 404 /de/404.php

31.08.2021 19:44 | geändert: 31.08.2021 19:46

8 Jörg

Was steht in der 404.php - sind dort Weiterleitungen enthalten?

Gibt es im Dateisystem ein Verzeichnis /de/index/ ?

Diesen Regelsatz würde ich in der .htaccess Datei ganz nach unten schieben:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

01.09.2021 12:39 | geändert: 01.09.2021 12:42

Beitrag schreiben (als Gast)

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





[BBCode-Hilfe]