View Full Version : [Htaccess] Redirect per url non esistente
robertino_salemi
01-04-2019, 14:59
Buongiorno,
spero di scrivere nella sezione corretta.
Nel mio dominio attualmente ho:
- root > file index.php e file .htaccess
- ./shop > contiene l'intero sito web in Wordpress
Il contenuto del file htaccess:
RewriteEngine on
RewriteCond %{HTTP_HOST} nomesito.it [NC]
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^(.*)$ /shop/$1 [L]
cosi che l'utente viene indirizzato nel cartella /shop
Vorrei che quando l'utente digita un URL non esistente "Not Found" non gestibile da Wordpress quindi al di fuori della cartella /shop venga reindirizzato a quest'ultima.
Cosa devo aggiungere alla mie regole già esistenti?
Grazie!
Redirect 404 /shop/
Dovrebbe essere sufficiente
robertino_salemi
01-04-2019, 17:20
Redirect 404 /shop/
Dovrebbe essere sufficiente
Grazie, ma non funziona...
Scusa ho scritto una cazzata,
non è Redirect 404 ma ErrorDocument
RIF: https://httpd.apache.org/docs/2.4/custom-error.html
robertino_salemi
02-04-2019, 11:20
Scusa ho scritto una cazzata,
non è Redirect 404 ma ErrorDocument
RIF: https://httpd.apache.org/docs/2.4/custom-error.html
Grazie, ieri ho integrato le seguente linee:
# or map them to one error document:
#RewriteCond %{REQUEST_URI} ^/404/$ [OR]
#RewriteCond %{REQUEST_URI} ^/500/$
#RewriteRule ^(.*)$ /shop/index.php [L]
Funziona correttamente, e' corretto oppure no?
Grazie.
Grazie, ieri ho integrato le seguente linee:
# or map them to one error document:
#RewriteCond %{REQUEST_URI} ^/404/$ [OR]
#RewriteCond %{REQUEST_URI} ^/500/$
#RewriteRule ^(.*)$ /shop/index.php [L]
Funziona correttamente, e' corretto oppure no?
Grazie.
Essendo commentate non capisco come possano funzionare
robertino_salemi
02-04-2019, 16:14
Si, ovviamente si tratta di un errore di copia-incolla, le righe non sono commentate!
Mi sono accorto comunque non sempre funziona, forse e' stata una coincidenza...
Ho aggiungo la riga
ErrorDocument 404 /shop/index.php
Mi sono accorto comunque che viene fatto il redirect nella pagina indicata, ma nella barra degli indirizzi viene visualizzato l'URL sorgente, non quello di destinazione.
Si, ovviamente si tratta di un errore di copia-incolla, le righe non sono commentate!
Mi sono accorto comunque non sempre funziona, forse e' stata una coincidenza...
Ho aggiungo la riga
ErrorDocument 404 /shop/index.php
Mi sono accorto comunque che viene fatto il redirect nella pagina indicata, ma nella barra degli indirizzi viene visualizzato l'URL sorgente, non quello di destinazione.
Ovviamente si comporta così.
Quella è una direttiva che dice che se NON trova la pagina (404) allora mostra quell'altra pagina.
Devi fare un redirect forzato. Ad esempio
ErrorDocument 404 /shop/redirect.php
Crei un file redirect.php
<?
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: /shop/index.php" );
?>
E così funzion
robertino_salemi
04-04-2019, 14:56
Perfetto, ha funzionato correttamente.
Grazie della soluzione! :)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.