/ / 404-Seite funktioniert nicht für Links mit Schrägstrich - PHP, HTML, .htaccess, http-Status-Code-404

Die 404-Seite funktioniert nicht für Links mit einem Schrägstrich - php, html, .htaccess, http-status-code-404

Ich habe eine Seite mit einer 404-Fehlerseite, die in htaccess folgendermaßen eingerichtet ist:

ErrorDocument 404 http://www.example.com/error404.php

Dies funktioniert einwandfrei, wenn Sie versuchen, auf eine Seite zuzugreifen, die nicht existiert:

www.example.com/nonsensepage.php
www.example.com/nonsensepage.htm

Die Google-Suche enthält jedoch einige alte Links von der vorherigen Site (eine Joomla-Site), die folgendes Format haben:

www.example.com/index.php/news

Und das ist nicht meine 404-Seite gefangen. Stattdessen geht es auf meine Indexseite und bricht die Seite!

Wie kann ich sicherstellen, dass meine 404-Seite ALLE falschen URLs abfängt?

Vielen Dank


BEARBEITEN:

Ich habe bereits die doppelte Frage versucht, (AcceptPathInfo Off hinzuzufügen), aber es scheint nicht für mich zu arbeiten.

Das ist alles was ich in meiner htaccess Datei habe:

DirectoryIndex index.php

AcceptPathInfo Off
CheckSpelling Off

## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 month"
ExpiresByType image/jpeg "access 1 month"
ExpiresByType image/gif "access 1 month"
ExpiresByType image/png "access 1 month"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 month"
ExpiresDefault "access 1 month"
</IfModule>
## EXPIRES CACHING ##

FileETag none
ServerSignature Off

Options +FollowSymlinks

RewriteEngine On
RewriteCond %{http_host} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,NC]

AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

ErrorDocument 404 http://www.example.com/error404.php

Ich würde mich auch über eine Lösung freuen, bei der alle nachfolgenden Inhalte und Schrägstriche entfernt werden.

index.php/anything

entweder zu index.php oder error404.php

Antworten:

4 für die Antwort № 1

Sie können diese Zeile oben in Ihrer .htaccess-Datei hinzufügen, um 404 nach einem Schrägstrich für alle zu senden .php Dateien:

AcceptPathInfo Off

Alternative Sie können diese Umschreiberegel verwenden:

RewriteEngine On

RewriteRule .php/.+$ [L,NC,R=404]