2

I have a static HTML website.

www.example.com/?12345 (this page doesn't exist) redirects to www.example.com and www.example.com/page.html?12345 redirects to www.example.com/page.html. I don't know why this happens.

Google said this is a soft 404 error and www.example.com/page.html?12345 should return a 404 response not a 200 OK response.

How can I fix this ?

Here's my .htaccess:

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

# Cache
# 1 month
<filesMatch ".(jpg|jpeg|png|swf)$">
Header set Cache-Control "max-age=2592000, private"
</filesMatch>
# 3 days
<filesMatch ".(txt|css|js)$">
Header set Cache-Control "max-age=259200, must-revalidate, proxy-revalidate"
</filesMatch>
# 10 min
<filesMatch ".(html|htm)$">
Header set Cache-Control "max-age=3600, public, must-revalidate, proxy-revalidate"
</filesMatch>

# Include php
<Files contact.htm>
AddHandler application/x-httpd-php5 htm
</Files>
4
  • Please share your .htaccess file. Commented Apr 3, 2013 at 12:47
  • Please add it to your question (no comment) with proper formatting. Commented Apr 3, 2013 at 13:31
  • Added to my question.
    – Snapped
    Commented Apr 3, 2013 at 13:42
  • Yeah... these were not "redirects". The query string parameters are ignored by default. Commented Feb 16, 2019 at 20:20

1 Answer 1

3

No idea where you got that soft error notice.

The behavior you see is completely normal. If you have a page and someone adds parameters to it, any parameter not used by the page are and should be ignored.

If you only want naked URLs to work and all URLs with parameter to return a 404 then you will have to add specific htaccess rules for that. Something like:

RewriteCond ${QUERY_STRING} !^$
RewriteRule .* - [R=404,L,NC]
1
  • The soft error notice referred to in this question would have been from Google Webmaster Tools. A soft error is essentially a Page-not-found error page but without the appropriate HTTP 404 code in the response headers. Commented Jul 7, 2014 at 9:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.