Mordor
Registered User
Mahlzeit allerseits
Nach mehrstündigem suchen, und ner guten Hilfestellung von Elias im irc, bin ich noch nicht wirklich am Ende der Lösung.
Folgendes Problem:
Ich wollte für eine Seite Rewritregeln in eine .htaccess-Datei schreiben, was aber nicht funktioniert. Wenn ich diese Regel jedoch direkt in die vhost übernehme, gehen sie einwandfrei.
Am Anfang war das Problem dass AllwoOverride falsch gesetzt war. Das ist jetzt aber nicht mehr so, das steht auf all. Wenn ich irgendwelchen Müll in die .htaccess-Datei schreibe, bekomme ich vom Server einen internal-Servererror wieder. Also kann ich wohl davon ausgehen, dass Apache die .htaccess auch liest. Jedoch die Rewrite-Regeln in dieser Datei werden einfach nicht beachtet. Ich bin mit meinem Latein schön langsam am Ende, vieleicht weiss jemand anderes weiter.
.htaccess:
vhost:
System:
Debian Etch
Apache2.2
PHP 5.2
Bei einer Anfrage mit den Regeln in der .htaccess steht in der rewrite.log folgendes:
In den error.log von Apache wird nur ein 404-Fehler aufgezeigt.
Was auffällig ist, mod_Rewrite liest die Regeln aus der .htaccess überhaupt nicht. Nicht einmal die RewriteCond wird überprüft.
Vielleicht hat ja jemand nen Lösungsansatz,
Gruß Mordor
Nach mehrstündigem suchen, und ner guten Hilfestellung von Elias im irc, bin ich noch nicht wirklich am Ende der Lösung.
Folgendes Problem:
Ich wollte für eine Seite Rewritregeln in eine .htaccess-Datei schreiben, was aber nicht funktioniert. Wenn ich diese Regel jedoch direkt in die vhost übernehme, gehen sie einwandfrei.
Am Anfang war das Problem dass AllwoOverride falsch gesetzt war. Das ist jetzt aber nicht mehr so, das steht auf all. Wenn ich irgendwelchen Müll in die .htaccess-Datei schreibe, bekomme ich vom Server einen internal-Servererror wieder. Also kann ich wohl davon ausgehen, dass Apache die .htaccess auch liest. Jedoch die Rewrite-Regeln in dieser Datei werden einfach nicht beachtet. Ich bin mit meinem Latein schön langsam am Ende, vieleicht weiss jemand anderes weiter.
.htaccess:
Code:
RewriteCond %{REQUEST_URI} ^/index.html$ [NC]
RewriteRule index.html /index.php [L]
RewriteCond %{REQUEST_URI} ^/(.*)/$ [NC]
RewriteRule /(.*)/ /index.php?main=$1 [L]
RewriteRule %{REQUEST_URI} ^/(.*)/(.*).html [NC]
RewriteRule /(.*)/(.*).html /index.php?main=$1&submain=$2 [L]
Code:
VirtualHost *>
ServerAdmin webmaster@domain.tld
ServerName domain.tld
ServerAlias www.domain.tld
DocumentRoot /srv/domain.tld/htdocs
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
ServerSignature Off
<Directory /srv/domain.tld/htdocs>
Order deny,allow
Allow from all
Options +FollowSymlinks +SymlinksIfOwnerMatch
AllowOverride All
</Directory>
<Location />
Options +FollowSymlinks +SymlinksIfOwnerMatch
Order allow,deny
Allow from All
</Location>
RewriteEngine On
RewriteLog /srv/domain.tld/rewrite.log
RewriteLogLevel 5
</VirtualHost>
System:
Debian Etch
Apache2.2
PHP 5.2
Bei einer Anfrage mit den Regeln in der .htaccess steht in der rewrite.log folgendes:
Code:
84.154.100.xxx - - [13/Dec/2007:12:58:27 +0100] [www.domain.tld/sid#818dd48][rid#83a5e40/initial] (2) init rewrite engine with requested uri /impressum/
84.154.100.xxx - - [13/Dec/2007:12:58:27 +0100] [www.domain.tld/sid#818dd48][rid#83a5e40/initial] (1) pass through /impressum/
84.154.100.xxx - - [13/Dec/2007:12:58:59 +0100] [www.domain.tld/sid#818dd48][rid#83a1e30/initial] (2) init rewrite engine with requested uri /
84.154.100.xxx - - [13/Dec/2007:12:58:59 +0100] [www.domain.tld/sid#818dd48][rid#83a1e30/initial] (1) pass through /
Was auffällig ist, mod_Rewrite liest die Regeln aus der .htaccess überhaupt nicht. Nicht einmal die RewriteCond wird überprüft.
Vielleicht hat ja jemand nen Lösungsansatz,
Gruß Mordor