Wie kann ich mod_rewrite und mod_alias zusammen zu arbeiten?
-
30-09-2019 - |
Frage
Ich habe eine Windows-Umgebung / Apache / PHP Einrichtung ein Shared-Hosting-Konto zu imitieren, aber nicht mod_alias
und mod_rewrite
erhält gut miteinander zu spielen. Beide sind auf jeden Fall auf der Serverebene aktiviert und auf einem Pro-Website werden.
Ich habe d:\web\public_html\
als DocumentRoot einrichten. Aber im Allgemeinen wird es leer sein.
Ich habe d:\web\sites\
das ist, wo ich meine Seiten werden die Speicherung und zeigt auf Alias
mit und hat die folgende Verzeichnisstruktur darunter:
d:\web\sites\alfa d:\web\sites\alfa\public_html d:\web\sites\bravo d:\web\sites\bravo\public_html
Ich habe Aliase setzen sich wie folgt zusammen: (und sie auf jeden Fall Arbeit!)
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>
Der public_html
Ordner (n) sind, wo meine pro-Ort .htaccess
-Dateien gespeichert sind, und sie haben definitiv mod_rewrite
aktiviert, aber wird nicht korrekt funktionieren.
Bisher habe ich pfuschen mit dem, was RewriteBase
sein sollte. Ich habe versucht, /
, /alfa
, /alfa/
und alfa/
. Ich habe sogar versucht, d:\web\sites\alfa\public_html
, d:/web/sites/alfa/public_html
, d:\web\sites\alfa
und d:/web/sites/alfa
ohne Erfolg!
Ist das überhaupt möglich? Wenn ja, was mache ich falsch?
Ich würde natürlich wie meine Alias
Richtlinien zentral zu halten und durch RewriteRule
s in pro-Ort .htaccess
Dateien.
Lösung
Sie verwenden das
AllowOverride None
Richtlinie und somit keine .htaccess
Dateien im Verzeichnis aliased zu deaktivieren.
Entfernen Sie das, und es sollte funktionieren.
/
sollte für RewriteBase
arbeiten.