pués nop.. no te entiendo...

pagina2.asp y pagina2.php ¿no es la misma?? .. no le hayo el por qué dices que al hacer un back te regresa a pagina1.php... ¿cómo se llegó a pag2.php?? (qué "maña" de usar ese tipo de nombres

...).
Ahora.. incisto, no veo el comportamiento de lo que dices en el enlace... lo mismo, estube navegando y pude dar click en el botón "atrás" del navegador (Fire-Fox

.. claro) y la nevagación fue como cualquier otra...
Ahora bien... si el comportamiento ese lo ves con IExplorer y no con otro navegador... (entonces hablas de "bloquear" el botón????) dicho comportamiento no será gracias a PHP.. eso te lo puedo asegurar...
... ADIVINANDO un poco... .. prueba separar procesos... supongamos tengo:
index.php ->
por medio de link ->
proceso.php ->
por medio de header (no imprimo nada) ->
contenido.php
Entonces el script de proceso.php hará la función de solo detectar a dónde se va ir.. en su caso si no hay parámetros regresar de dónde se llamo

... algo como lo que hacen las webs modulares.. ¿resultado?
- Yo desde index paso una variable (por URL) diciendo a proceso.php me lleve a contenido.php
- proceso.php la detecta y me lleva a contenido.php
- doy click en atrás desde contenido.php y al no tener la variable original... me redirecciona a contenido.php ...

.
¿cómo planteo esto???.. lo dicho... busca sobre web's modulares... necesitarías un switch(), un $_GET y la variable superglobal $_SERVER['HTTP_REFERER'] para ponerla como default...
www.php.net/switch www.php.net/reserved.variables www.zonaphp.com
.. y las FAQ de este foro...
... claro... todo esto ADIVINANDO lo que tratas de decir... y en tal caso... tratando de aclararlo un poco mejor...
Saludos!