Добавьте URL-адрес ?page_id=-1
и выполните для этого HTTP- запрос HEAD .
На самостоятельно установленных блогах WordPress это приведет к ответу 404.
В блогах wordpress.com это приведет к ответу 301 (который в итоге будет равен 200, если вы выполните перенаправление).
На сайтах, отличных от WordPress, вы должны получить ответ 200 (при условии, что исходный URL без строки запроса дал вам 200) - строка запроса не должна иметь никакого значения.
Пример с запросом HEAD для http://blog.stackoverflow.com/2011/03/a-new-name-for-stack-overflow-with-surprise-ending/?page_id=-1
:
HTTP/1.1 404 Not Found
Server: Apache/2.2.9 (Ubuntu) DAV/2 PHP/5.2.6-2ubuntu4.2 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g
Content-Encoding: gzip
Vary: Cookie,Accept-Encoding
Cache-Control: no-cache, must-revalidate, max-age=0
Last-Modified: Thu, 07 Jun 2012 08:53:01 GMT
Date: Thu, 07 Jun 2012 08:53:01 GMT
Keep-Alive: timeout=15, max=100
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Pragma: no-cache
Connection: Keep-Alive
X-Powered-By: PHP/5.2.6-2ubuntu4.2
X-Pingback: http://blog.stackoverflow.com/xmlrpc.php
Content-Type: text/html; charset=UTF-8
Пример с запросом HEAD для http://dailycrave.wordpress.com/2012/06/01/three-cheese-grilled-pizza/?page_id=-1
(отключить перенаправление):
HTTP/1.1 301 Moved Permanently
X-Pingback: http://dailycrave.wordpress.com/xmlrpc.php
Server: nginx
Expires: Wed, 11 Jan 1984 05:00:00 GMT
X-Hacker: If you're reading this, you should visit automattic.com/jobs and apply to join the fun, mention this header.
Location: http://dailycrave.wordpress.com/2012/06/01/three-cheese-grilled-pizza/
Pragma: no-cache
Cache-Control: no-cache, must-revalidate, max-age=60
Connection: close
Last-Modified: Thu, 07 Jun 2012 09:01:09 GMT
Content-Type: text/html; charset=UTF-8
Date: Thu, 07 Jun 2012 09:01:09 GMT
(Обратите внимание на пасхальное яйцо X-Hacker!)
Если вы будете следовать редиректу 301 для блога wordpress.com, вы получите следующее:
HTTP/1.1 200 OK
Server: nginx
Vary: Accept-Encoding, Cookie
Last-Modified: Thu, 07 Jun 2012 09:48:26 GMT
Cache-Control: max-age=172, must-revalidate
Connection: close
Date: Thu, 07 Jun 2012 09:50:34 GMT
Transfer-Encoding: Identity
Content-Encoding: gzip
Link: <http://wp.me/pXGqK-27g>; rel=shortlink
X-Pingback: http://dailycrave.wordpress.com/xmlrpc.php
Content-Type: text/html; charset=UTF-8
X-Nananana: Batcache
X-Hacker: If you're reading this, you should visit automattic.com/jobs and apply to join the fun, mention this header.
Обратите внимание на заголовок «Ссылка», содержащий http://wp.me/
URL-адрес, который, по-видимому, является общим для всех блогов wordpress.com и может использоваться для их идентификации.
Я считаю, что это работает, потому что передача ?page_id=-1
URL переопределяет маршрутизацию по умолчанию из сегментов URL. Не будет страницы с идентификатором -1, и вместо этого будет использоваться перенаправление 404 /.