Hallo,
nach einem Umzug des Oxid-Shops 4.3.2_27884 auf einen neuen Server habe ich leider Probleme mit der .htaccess im Verzeichnis /admin.
Das Verzeichnis /admin soll per .htaccess einen zusätzlichen Passwortschutz bekommen (was vor dem Serverumzug auch funktioniert hat).
Nach dem Umzug machen kommen nun aber scheinbar die Rewrite-Conditions aus dem Web-Root-Verzeichnis (also das ./web oder ./public_html bzw. entsprechend) dem in die Quere und bei Aufruf [I]http://www.meineDomain.de/admin[/I] sehe ich das “normale” Oxid-Template mit der Fehlemeldung “[I]Fehler. Die angeforderte Seite ‘admin/’ konnte nicht gefunden werden.[/I]” im Content-Bereich (in der Mitte).
~/web/admin/.htaccess enthält den Passwortschutz
AuthType Basic
AuthName "Shop-Admin"
AuthUserFile /var/www/clients/client1/web1/.htpasswd_admin
<limit GET PUT POST>
require valid-user
</limit>
die ~/web/.htaccess sieht so aus:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} oxseo\.php$
RewriteCond %{QUERY_STRING} mod_rewrite_module_is=off
RewriteRule oxseo\.php$ oxseo.php?mod_rewrite_module_is=on [L]
RewriteCond %{REQUEST_URI} !(\/admin\/|\/core\/|\/export\/|\/modules\/|\/out\/|\/setup\/|\/tmp\/|\/views\/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !(\.html|\/|\.jpg|\.css|\.pdf|\.doc|\.gif|\.png|\.js)$ %{REQUEST_URI}/ [R=301,L]
RewriteCond %{REQUEST_URI} !(\/admin\/|\/core\/|\/export\/|\/modules\/|\/out\/|\/setup\/|\/tmp\/|\/views\/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (\.html|\/)$ oxseo.php
</IfModule>
<FilesMatch "(EXCEPTION_LOG\.txt|\.log$|\.tpl$)">
order allow,deny
deny from all
</FilesMatch>
Options -Indexes
DirectoryIndex index.php index.html
die beiden
\/admin\/|
aus obiger .htaccess habe ich testweise natürlich schonmal entfernt, was aber nichts verändert hat.
der virtuelle Host des Apache sieht - aufs Wesentliche beschränkt - so aus:
<VirtualHost *:80>
DocumentRoot /var/www/www.MeineDomain.de/web
<Directory /var/www/www.MeineDomain.de/web>
Options FollowSymLinks
AllowOverride Indexes AuthConfig Limit
Order allow,deny
Allow from all
</Directory>
<Directory /var/www/clients/client1/web1/web>
Options FollowSymLinks
AllowOverride Indexes AuthConfig Limit
Order allow,deny
Allow from all
</Directory>
<Directory /var/www/www.MeineDomain.de/web>
AllowOverride All
</Directory>
Options -Indexes +FollowSymLinks
</VirtualHost>
das physische User-Verzeichnis ist:
[I]/var/www/clients/client1/web1[/I]
bzw. das öffentliche Web-Verzeichnis:
[I]/var/www/clients/client1/web1/web
[/I]
während
[I]/var/www/www.MeineDomain.de[/I] ein Symlink von [I]/var/www/clients/client1/web
[/I] ist.
Wird die ~/web/admin/.htaccess entfernt, funktioniert alles einwandfrei, der Admin-Bereich zeigt den regulären Oxid-Login. Ist die ~/web/admin/.htaccess vorhanden, geht auch alles einwandfrei, nur eben der Admin-Bereich ist nicht mehr verfügbar.
Leider bin ich nun garnicht der mod_rewrite Experte … und hoffe hier kann mir jemand einen Tipp geben, ich komm mit all dem googlen und recherchieren einfach nicht weiter …
Tausend Dank schonmal vorab!