Page is a not externally linkable
g1smd - 6:15 am on Jun 24, 2011 (gmt 0)
Instead I got handed a server-default 410 that was even scarier than the server-default 404.
If you're doing RewriteRule ^thatpage\.html$ - [G] in .htaccess then yes, you are forcing the server default 410 ErrorDocument to be served for that request. Processing never reaches the PHP script running the site.
If you're modifying the CMS to say if ($pagestatus = 'expired') {HEADER ('Status: 410 Gone';)} in th PHP code at some point before the HTML DOCTYPE is emitted, then you have complete control over what is served and what status code is served with it.
Both solutions emit the same "Status: 410 Gone" HTTP status message in the HTTP Headers preceding the sending of any HTML page.