Zauważyłem, że w przypadku, gdy parametry podane URI mojej strony prowadzą do nie istniejącej podstrony Joomla nie zwraca kodu 404 i nie jest wyświetlana strona błędu (czy to własna czy systemowa), ale strona główna. Chciałbym, aby jednak zwracany był kod 404 i strona błędu.
Mam włączone:
-Zastosuj przepisywanie URL
- Proste adresy
W związku z tym w pliku .htaccess jest standardowy kod SEF Joomli:
Kod:
## Begin - Joomla! core SEF Section.#
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index\.php
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]
#
## End - Joomla! core SEF Section.
Jeśli dobrze rozumiem, to koniec-końców Joomla powinna jednak zauważyć, że przepisany w .htaccess URI nie istnieje i zwrócić błąd 404. Tak się jednak nie dzieje. Kończy się na przepisaniu adresu do strony głównej; jak wynika z kodu wyżej.
Mam wrażenie, że coś jednak nie gra. Spodziewałbym się, że mimo włączenia Prostych adresów (SEO), Joomla będzie zwracać błędy 404, tam gdzie to zasadne.
W czym jest problem? Co mi umyka? Jak przekonać Joomlę by zwracała błędy 404 mimo włączenia SEO?
Będę wdzięczny za konstruktywną podpowiedź.