Hoekom kan ek nie .htaccess in Apache deaktiveer nie?
-
03-07-2019 - |
Vra
Dit is die teenoorgestelde probleem van die meeste waaroor ek gelees het.Ek gebruik Ubuntu 8.04 op 'n Amazon-instansie met Apache 2.2.8 en ek kan nie uitvind hoekom die instelling van AllowOverride op Geen vir root nie verhoed dat my .htaccess-lêer ingesluit word nie.
Ek het 'n subgids met hello.py daarin en 'n .htaccess-lêer.As ek na die lêer blaai, werk dit goed met modpython wat die lêer bedien.As ek 'n bietjie vullis in .htaccess sit, kry ek 'n bedienerfout, so ek weet die .htaccess-lêer word gebruik.Ook as ek die .htaccess-lêer uitvee, is hello.py nie meer bediener deur modpython nie - in plaas daarvan probeer die blaaier om dit oop te maak.
In een van my werwe-beskikbaar (gekoppel in werwe-geaktiveer), het ek "AllowOverride None" vir die wortelgids.Ek het gedink dat dit sou verhoed dat .htaccess vanaf root en al sy sub-gidse ingesluit word, wat sou veroorsaak dat hello.py nie deur mod_python bedien word nie.Dit word egter steeds goed bedien en ek kan toets dat .htaccess steeds ingesluit word, want wanneer ek dit wysig, sien ek die resultate in my blaaier.
Miskien is daar iets wat ek nie verstaan oor my lêer in webwerwe-geaktiveer nie.Dit is die lêer wat ek gebruik:
NameVirtualHost *:8080
<VirtualHost *:8080>
<Directory />
AllowOverride None
</Directory>
</VirtualHost>
Dankie vir enige hulp.
Oplossing
Die rede waarom die lêer nie via mod_python bedien word wanneer jy .htaccess uitvee nie, is omdat die opstelling vir mod_python daarin geleë is.As jy daardie goed na jou werwe-beskikbare lêer skuif, kan jy .htaccess uitvee, 'n blinde oog vir die probleem draai en dit 'n dag noem.
As dit jou nie bevredig nie, dan kan ek nie sê hoekom .htacess enigsins gelees word nie.Jy is korrek dat AllowOverride None behoort verhoed dat die lêer ooit gelees word.Het jy die moontlikheid oorweeg dat jy iets verkeerd gedoen het toe jy die virtuele werf bygevoeg het?Probeer 'n bietjie vullis in die konfigurasie gooi en kyk of dit kla, net om seker te maak dit word enigsins gelees.
Ander wenke
AllowOverride
word slegs toegelaat <Directory>
-afdelings, so jy het alles reg gedoen.
Een probleem wat jy kan hê, is dat ander (sub-)<Directory>
-afdelings gestel AllowOverride
na iets anders as None
.Dit sal die instelling vir hierdie subgidse ignoreer.ek gebruik
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride AuthConfig
Order allow,deny
allow from all
</Directory>
en in /var/www
(my docroot) Ek kan gebruik .htaccess
es.
Die rede hoekom mod_python
werk nie meer as jy jou .htaccess
is dit mod_python
opstelling is gewoonlik in .htaccess
lêers.
As jy meer inligting benodig, stuur asseblief vir ons jou konfigurasie.
PS:Trouens, die dokumentasie wat hierbo gekoppel is, sê dat jy moet nooit stel AllowOverride
aan iets nie None
in <Directory />
.