apache htaccess réécrire avec alias
Nous sont en train de changer notre nom de domaine et c'est conçu pour les applications autonomes. En hôte virtuel Apache fichier DocumentRoot /var/www/site web/html, pas de /var/www/exemple/html comme dans ce bloc:
Alias /apps/dept /var/www/example/html/apps/dept
<Directory "/var/www/example/html/apps/dept/">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
J'ai mis une .htaccess dans /var/www/exemple/html/apps/dept répertoire comme suit:
RewriteEngine On
RewriteBase /apps/dept/
RewriteCond %{HTTP_HOST} ^example.orgname.state.tx.us/apps/dept [NC]
RewriteRule ^(.*)$ http://example.orgname.texas.gov/apps/dept/$1 [L,R=301]
Ce qui semble suivre ce qui est recommandé ici, http://httpd.apache.org/docs/current/mod/mod_rewrite.html et Apache : Comment Utiliser le Moteur de Réécriture à l'Intérieur de l'Alias. Je ne vois pas de résultats. Le nouveau nom de domaine a un virutal hôte config dans la VH fichier, aussi. Cette même base de réécriture d'œuvres de notre site web avec Drupal qui n'utilise pas un alias. Quels changements pourraient être nécessaires pour avoir le nom de domaine réécrit avec en annexe un chemin d'accès de l'application? Est le RewriteBase incorrect?
Thx.
OriginalL'auteur edroms | 2013-12-02
Vous devez vous connecter pour publier un commentaire.
De sorte que vous ne souhaitez rediriger
/apps/dept/
, correct? Cela devrait fonctionner. Le placer comme un.htaccess
ou dans la config d'Apache pourexample.orgname.state.tx.us
et tout devrait fonctionner comme prévu.Alors maintenant, toute demande d'aller à cette URL
Maintenant rendez vous à cette adresse:
Et tous les paramètres de la demande vers la droite de l'URL sera transmise ainsi.
MODIFIER Viens de relire ce que vous avez écrit ici:
La
.htaccess
que j'ai décrit ci-dessus doit être placé dans/var/www/example/html/
et pas dans le/apps/dept
sous-répertoire.Mais si vous voulez le même comportement à partir d'un
.htaccess
placé dans/apps/dept
puis utilisez ceci:De cette façon, toute demande formulée à partir de
/apps/dept
volonté deexample.orgname.texas.gov/apps/dept/
y compris les sous-répertoires de/apps/dept
comme/apps/dept/test_app1
,/apps/dept/test_app2
ou/apps/dept/test_app3
.Ou peut-être essayer ceci:
Remarque j'ai enlevé le
^
qui force leRewriteRule
pour correspondre au début de l'URL.Quand vous voulez dire par “en dessous” que voulez-vous dire? Il va rediriger rien de
http://example.orgname.state.tx.us/apps/dept/
àhttp://example.orgname.texas.gov/apps/dept/
, y compris les répertoires contenus dans ce répertoire. Veuillez clarifier la question si je suis un malentendu.Espérons que ces répertoires: exemple.sur.état.tx.us/apps/dept/myapp example.on.texas.gov/apps/dept/myapp. Il y a environ 10 applications dans le département dir.
Oui, redirections, comme je l'ai décrit permettra d'envoyer quoi que ce soit à partir de
/apps/dept/
, et en dessous comme/apps/dept/myapp
pour le nouveau nom d'hôte. 100% de quoi que ce soit à droite de l'URL sera correctement réécrit & redirigés. Regardez mes retouches à comprendre.Vous êtes correct. Cette solution fonctionne et ce problème est résolu. Merci.
OriginalL'auteur JakeGould
Vous ne pouvez pas correspondre à l'URI de la Requête en
%{HTTP_HOST}
variable, il ne correspond qu'à un nom de domaine. Chang votre règle:OriginalL'auteur anubhava