Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    nascondere estensione file ".php" con ".htaccess", possibile fare una eccezione?

    Salve a tutti ragazzi, tempo fa ho chiesto aiuto su questo forum per nascondere l'estensione delle mie pagine php grazie all'uso di .htaccess e ci sono riuscito...praticamente ora se digito nome-pagina si apre la pagina normalmente, mentre se digito nome-pagina.php (come facevo prima) mi da un errore 404, tutto questo per creare una riscrittura mod_rewrite in modo casareccio

    Queste sono le istruzione del file .htaccess attuale:

    codice:
    RewriteEngine On
    
    RewriteCond %{REQUEST_FILENAME} !\.php$ 
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule . - [L]
    
    RewriteCond %{REQUEST_URI} !\.php
    RewriteCond %{REQUEST_FILENAME}\.php -f
    RewriteRule ^(.*)$ $1.php [L]
    
    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteCond %{REQUEST_URI} \.php
    RewriteCond %{REQUEST_FILENAME} !404.php$ 
    RewriteRule ([a-zA-Z0-9\-_]*) 404.php [L]
    ...il tutto funziona alla grande, solo che ora ho un altro problemino...praticamente il mio sito, pure essendo in php è un semplice sito vetrina (non dinamico), però ho la pagina contatti ha un modulo il quale, dopo aver inviato il messaggio, si ricarica restituendo un testo di conferma. Con le modifiche apportate ora questo modulo, giustamente, non funziona più! mi spiego meglio, se apro la pagina contatti (senza il ".php") si vede bene, ma se poi vado ad inviare un messaggio con il modulo la pagina si va a ricaricare e contatti.php non si riesce ad aprire, per le restrizioni fatte nel .htaccess...spero di essermi spiegato bene...

    La mia domanda è, sarebbe possibile, in .htaccess, fare un'eccezione solo per la pagina dove si trova questo modulo? cioè fare in modo che questa pagina si possa aprire sia se digito contatti e sia con contatti.php ?

    Grazie in anticipo a tutti!

  2. #2
    probabilmente avrai un codice di questo genere <form action="contatti.php"> oppure <form action="<?php .. ?>">
    prova a sostituire in entrambi i casi l'action in modo da avere <form action="contatti">

    penso proprio che sia sufficiente questo senza scomodare il file .htaccess..

  3. #3
    ...infatti, non ci avevo pensato ...per l'esattezza nel mio caso c'era:

    codice:
    <form method="post" action="<?=$_SERVER['PHP_SELF'];?>"
    mi è bastato togliere il PHP e trasformarlo in:

    codice:
    <form method="post" action="<?=$_SERVER['SELF'];?>"
    e ora funziona alla grande!

    Grazie mille per la dritta edoardo ...veramente non ci avevo pensato...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.