Esperti HTACCESS: reindirizzare tutti tranne radice a un TLD, reindirizzare la radice ad un altro TLD - Wordpress
Domanda
Aiuto dal guru è apprezzato.
Sono stato richiesto di mettere la homepage di WordPress di un client su un TLD (I.e. Domain.eu) e avere tutte le altre pagine / directory essere 301'd in un diverso estensione TLD (I.e. Domain.com/every-thing-else). Non sono sicuro del perché questo è richiesto, ma a quanto pare è importante per il cliente, e ho sbattuto la testa per farlo funzionare. Qualche idea?
Esempi:
Se l'URL colpisce le radici di dominio TLD, dovrebbero essere reindirizzate al dominio .eu (http://domain.eu/), ma tutto il resto dovrebbe andare al dominio .com (http://domain.com /)
Roots:
http://domain.com OR
http://domain.net OR
http://domain.edu/index.php OR
http://domain.org/index.html OR
http://domain.* (* = any extension)
.
301 a: http://domain.eu
Tuttavia, tutto il resto deve mantenere la struttura della directory e essere reindirizzarsi all'altro TLD (http://domain.com). Esempi ..
Da:
http://domain.net/blog/category
.
301 a:
http://domain.com/blog/category
.
Da:
http://domain.org/blog/category/post
.
301 a:
http://domain.com/blog/category/post
.
Tutto ciò che ho provato finisce in loop reindirizzamento o è solo parzialmente riuscito. Ad esempio, sotto è messo sopra i reindirizzamenti di WordPress, e reindirizza correttamente nel senso che tutti gli URL di destinazione sono colpiti, ma la root (homepage) ha un errore di reindirizzamento. Qualche idea?
RewriteEngine On
RewriteBase /
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RedirectMatch ^/$ http://domain.eu
RewriteCond %{REQUEST_URI} !^/$ [NC]
RewriteCond %{HTTP_HOST} ^domain.com.au$ [NC,OR]
RewriteCond %{HTTP_HOST} ^domain.eu$ [NC,OR]
RewriteCond %{HTTP_HOST} ^domain.de$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]
.
Sono un po 'novizio con htaccess, quindi fammi sapere come sto andando su questo sbagliato, grazie!
Soluzione
Prova a sostituire il reindirizzatore con il seguente.
RewriteCond %{HTTP_HOST} !^domain.eu$ [NC]
RewriteRule ^/?$ http://domain.eu/ [R=301,L]
. Altri suggerimenti
WordPress reindirizza qualsiasi URL che non corrisponde al dominio nella configurazione WordPress.Dovrai scrivere un plugin WP o utilizzare il proxying per prendere la homepage per l'altro dominio.