Comment puis-je obtenir mod_rewrite et mod_alias à travailler ensemble?
-
30-09-2019 - |
Question
J'ai un environnement Windows / Apache / PHP mis en place pour imiter un compte d'hébergement partagé, mais ne peut pas obtenir mod_alias
et mod_rewrite
jouer bien avec les uns les autres. Les deux sont certainement activés au niveau du serveur et sur une base par site.
Je d:\web\public_html\
mis en place comme DocumentRoot. Mais de façon générale, il sera vide.
J'ai d:\web\sites\
qui est l'endroit où je vais stockage mes sites et pointant à l'aide Alias
et il a la structure de répertoire suivant dessous:
d:\web\sites\alfa d:\web\sites\alfa\public_html d:\web\sites\bravo d:\web\sites\bravo\public_html
Je alias définis comme suit: (et ils vraiment le travail!)
Alias /alfa d:/web/sites/alfa/public_html<Directory "D:\web\sites\alfa\public_html">
Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all</Directory>
Le dossier public_html
(s) sont où mes fichiers .htaccess
par site sont stockés et ils ont certainement mod_rewrite
activé mais ne fonctionnera pas correctement.
Jusqu'à présent, je suis venu avec ce décollée RewriteBase
devrait être. J'ai essayé /
, /alfa
, /alfa/
et alfa/
. J'ai même essayé d:\web\sites\alfa\public_html
, d:/web/sites/alfa/public_html
, d:\web\sites\alfa
et d:/web/sites/alfa
en vain!
Est-ce même possible? Si oui, qu'est-ce que je fais mal?
Je aime évidemment garder mes directives centralisées et Alias
par RewriteRule
s dans les fichiers .htaccess
par site.
La solution
Vous utilisez la balise
AllowOverride None
directive et donc de désactiver les fichiers .htaccess
dans le répertoire crénelage.
Retirez que, et cela devrait fonctionner.
/
devrait fonctionner pour RewriteBase
.