- Home
- Categorie
- Digital Marketing
- SEO
- [Htaccess] Redirect per url non esistente
-
[Htaccess] Redirect per url non esistente
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 RewriteCond %{REQUEST_URI} ^/$ RewriteRule ^(.*)$ /shop/$1
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!
-
Ho risolto integrando le seguente linee:
# or map them to one error document: #RewriteCond %{REQUEST_URI} ^/404/$ %{REQUEST_URI} ^/500/$ #RewriteRule ^(.*)$ /[shop/index.php](http://shop/index.php)
Funziona correttamente, ma chiedo a Voi se e' la scelta corretta oppure no.
Grazie.
-
Ciao, quelle direttive vengono totalmente ignorate dal server in quanto il simbolo # rende la direttiva un semplice commento.
A parte la prima riga che è proprio un commento di testo.
-
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.
-
Perché ErrorDocument non fa parte di mod_rewrite, in pratica reindirizza e basta.
Dai un'occhiata qui: stackoverflow.com/questions/22467935/htaccess-errordocument-404-and-pass-url-to-path
-
Uhm, non e' chiarissimo....
-
Nel link un utente dice che nonostante ErrorDocument non faccia parte del mod_rewrite è possibile fare in modo che l'errore 404 e il reindirizzamento mostri l'url
Usa lo stesso codice@felino said:
> ErrorDocument 404 /shop/index.php >``` e subito dopo index.php e senza spazi aggiungi ?uri=%{REQUEST_URI}
ErrorDocument 404 /shop/index.php?uri=%{REQUEST_URI}
E' una prova e non so se funziona, più di così non so aiutarti.