Mettre la condition HTTP Pour les règles de redirection

J'ai une règle de redirection

.htaccess

qui transfère l'agent de

A.html

à

B.html

Utilisation du modèle suivant:

Redirect 301 /A.html [url=http://mysite.com/B.html]http://mysite.com/B.html[/url]

Dans la mesure où

Redirect

La directive nécessite d'établir un hôte cible, est-il possible que cette règle ne concerne que sur un certain hôte? J'ai un domaine de test et le domaine de déploiement, et je veux que ce soit uniquement dans le domaine de déploiement. Je peux établir les conditions HTTP pour

Rewrite

règles mais comment puis-je HTTP

Redirect

de?
Invité:

Alice

Confirmation de:

Vous pouvez vraiment le faire, mais perdre le code de redirection 301.

SetEnvIfNoCase Host "myotherdomain.com" redirectthisdomain

<files "a.html"="">
Order Deny,Allow
Deny from env=redirectthisdomain

ErrorDocument 403 [url=http://mysite.com/B.html]http://mysite.com/B.html[/url]
</files>

Catherine

Confirmation de:

Je suis arrivé à la conclusion que avec propre

Redirect

Directives. Si vous avez besoin de rediriger le visiteur sous certaines conditions HTTP, Nessésaire à utiliser

Rewrite

règlements.

Blanche

Confirmation de:

Placez simplement la règle de redirection de la configuration vhost Votre domaine de déploiement. Ainsi, il ne sera actif que pour cet hôte.

Catherine

Confirmation de:

Mon script: deux domaines (domain.org et domain.info), pointant vers le même site et je veux .info Utilisé à la place .org

Le site est écrit sur PHP Et au tout début de chaque page il y a quelque chose comme ça

if (stristr($_SERVER['SERVER_NAME'], 'domain.org') === FALSE) {
// do standard initial operations
} else {
// insert here the code to rebuild the correct path and put it in $newpath
header("HTTP/1.1 301 Moved Permanently");
header("Location: [url=http://www.domain.info/]http://www.domain.info/[/url]$newpath");
}

Ainsi, vous informez les utilisateurs et les scanners de moteurs de recherche sur votre configuration.

Blanche

Confirmation de:

Exemple rapide: si le visiteur va à dev.example.com/A.html, Il est redirigé de B.html. S'ils procèdent à www.example.com/A.html, ils seront redirigés vers C.html; Les deux avec la redirection 301.

RewriteEngine on
RewriteCond %(HTTP_HOST) ^dev.example.com$ [NC]
RewriteCond %(REQUEST_URI) ^/A.html
RewriteRule ^(.*)$ [url=http://dev.exmaple.com/B.html]http://dev.exmaple.com/B.html[/url] [R=301]

RewriteCond %(HTTP_HOST) !^dev.example.com$ [NC]
RewriteCond %(REQUEST_URI) ^/A.html
RewriteRule ^(.*)$ [url=http://dev.exmaple.com/C.html]http://dev.exmaple.com/C.html[/url] [R=301]

Vous pouvez en apprendre davantage sur
http://httpd.apache.org/docs/2 ... .html
Site Internet.

Pour répondre aux questions, connectez-vous ou registre