Esperti HTACCESS: reindirizzare tutti tranne radice a un TLD, reindirizzare la radice ad un altro TLD - Wordpress

StackOverflow https://stackoverflow.com//questions/10695777

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!

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top