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 RewriteRules dans les fichiers .htaccess par site.

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top