I have had quite a time googling around looking for answer on why on earth that my .htaccess rewrite not working as it should be.
I had this line in .htaccess:
RewriteRule ^view/([0-9]+)/([^/]*)\.html$ /index.php?op=view&id=$1&t=$2 [L]
and what I got is this in cpanel error log:
File does not exist: /home/xxx/public_html/view
and that was freaking disturbing.
The URL is working fine when it is accessed directly via web browser:
but, Googlebot told me it was getting file not found with 400 return code.
There were 2 things that I have done and looks like it solve my problem, at least for the moment.
1. Redo the URL rewrite – I have removed the virtual subfolders “view/xxx/yyy.html” into a root folder file such as “view-xxx-yyy.html”.
2. The second, it is my script that having “require (“./ppp/wp-blog-header.php”)” that giving 400 not found message to Googlebot. Upon some testing, I need to at least output something to browser before calling this statement. So it can be done via a simple “” or “echo ‘ ‘; ” before including wp-blog-header.php. Technically I don’t know why this is happening, but the trick just do what I need.