/ / 404 stránka nefunguje pre odkazy s koncovými lomkami - php, html, .htaccess, http-status-code-404

Stránka 404 nefunguje pre odkazy s koncovým lomítkom - php, html, .htaccess, http-status-code-404

Mám stránky s chybovou stránkou 404 nastavenou v htaccess takto:

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

To funguje dobre, ak sa pokúsite získať prístup k stránke, ktorá neexistuje:

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

Vyhľadávanie Google však obsahuje niekoľko starých odkazov z predchádzajúceho webu (stránky Joomla), ktoré majú nasledujúci formát:

www.example.com/index.php/news

A to nie je chytený mojou 404 stránkou. Namiesto toho ide na moju indexovú stránku a rozbije stránku!

Ako sa môžem uistiť, že moje 404 stránky zachytia všetky nesprávne adresy URL?

Vďaka


EDIT:

Už som skúsil duplicitnú odpoveď na otázku (pridať AcceptPathInfo Off), ale nezdá sa, že pre mňa pracuje.

To je všetko, čo mám vo svojom súbore htaccess:

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

Takisto by som bol spokojný len s riešením, ktoré oddeľuje akýkoľvek koncový obsah a lomítko, vždy riadenie:

index.php/anything

na index.php alebo error404.php

odpovede:

4 pre odpoveď č. 1

Tento riadok môžete pridať na začiatok príkazu .htaccess a poslať 404 na čokoľvek po lomítko .php súbory:

AcceptPathInfo Off

alternatívne môžete použiť toto pravidlo prepisovania:

RewriteEngine On

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