На данный момент pcode будет ВСЕГДА установлен, он просто МОЖЕТ быть пустым, потому что правило всегда будет проходить, и вы получите index3.php? Pcode = {кое-что}, но {кое-что} может быть равно ''.
Так что либо:
RewriteEngine On
RewriteRule ^([A-Za-z0-9]+)/?$ index3.php?pcode=$1 [NC,L]
RewriteRule ^.* index3.php [NC,L]
Добавьте аварийное переключение и сделайте группу жадной, чтобы она перестала работать, если ничего не передано. Или измените свой чек на:
if ($_GET['pcode'] == '') {
header('Location: ./D02081460');
exit;
}
Надеюсь, это поможет,
ISE