nach stundenlanger Suche im Forum mit zwar vielen Beiträgen zu ähnlichen Themen aber ohne Lösung für mein Problem poste ich nun doch mal meine Sorgen.
Ich habe auf einem V-Server von Strato Joomla laufen. Um die Suchmascheinenoptimierung zu nutzen, müsste ich mod_rewrite nutzen. Sobald ich aber über die .htaccess eine RewriteRule definiere, die auf den eigenen Server zeigt, bekomme ich nur einen 403-Error.
Forbidden
You don't have permission to access / on this server.
Apache/2.2.8 (Ubuntu) mod_python/3.3.1 Python/2.5.2 PHP/5.2.4-2ubuntu5.5 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g mod_perl/2.0.3 Perl/v5.8.8 Server at http://www.glodek-edv.de Port 80
Testweise habe ich eine ganz simple .htaccess erstellt
- Code: Select all
RewriteEngine On
RewriteRule (.*) http://www.google.de
Die funktioniert!
Sobald ich aber die Original-htaccess von Joomla 1.5 nehme und dort die Engine aktiviere kommt der 403-Error.
zur Sicherheit (falls ich irgendwie eine falsche htaccess erwischt haben sollte) hier der Inhalt (alle Kommentare etc. rausgeworfen, dann ist übersichtlicher):
- Code: Select all
Options +FollowSymLinks
RewriteEngine On
# RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
Probeweise habe ich auch mal alle Zeilen bis auf RewriteEngine On und die beiden letzten Zeilen (die mit den RewriteRules) auskommentiert, also so:
- Code: Select all
RewriteEngine On
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
-> gleiches Ergebnis, 403-Error
Da die einfache Umleitung zu Google funktioniert, muss es irgendetwas in der .htaccess sein, aber was??
Im Apache-Fehler-Log steht:
Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: /var/www/vhosts/glodek-edv.de/httpdocs/index.php
Das wird aber doch in der .htacces mit
Options +FollowSymLinks eingeschaltet ???
Auch der Tipp, in der apache-konfiguration den DirectoryIndex anzupassen (und Apache neu starten) hat nichts gebracht
Also so:
DirectoryIndex index.html index.cgi index.php index.pl index.xhtml
und nicht so:
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml
Server ist ein STRATO V-Server mit Ubuntu 8.04.
...und hier noch die relevante Apatche-Konfiguration mit den vorgegebenen FollowSymLinks-Einträgen. Das sieht doch eigentlich auch so aus, als wäre alles OK, denn FollowSymLinks ist dort ja eingeschaltet. Probeweise habe ich mal auf AllowOverride All umgestellt. Daruafhin kam dann ein PageNotFound, was zumindest beweist, dass ich die richtige Conf erwischt habe
- Code: Select all
NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
So, an dieser Stelle haben mich dann meine Kenntnisse endgültig verlassen. Wenn in der apache-Konfiguration "Options FollowSymLinks" steht, warum erscheint dann im errorlog "Option FollowSymLinks or SymLinksIfOwnerMatch is off"
In der Hoffnung auf kompetente Hilfe,
Euer verzweifelter Hägar