mod_rewrite Rule will nicht so wie ich will
michael
- webserver
0 MudGuard0 michael0 MudGuard0 michael0 Thomas J.S.0 wahsaga
0 Thomas J.S.
hallo alle zusammen,
ich versuche gerade einen einstieg in mod_rewrite zu machen, flieg aber irgendwie gnadenlos auf die schnauze ;-)
ich habe eine orginal URL: /autor/?go=vita
und will dieser so aufrufbar machen: /autor/vita.html
Dazu habe mir folgende RewriteRule gebastelt: RewriteRule ^autor/(.*).html$ autor/?go=$1
aber irgendwie bekomme ich nur eine 404. modrewrite selber funktioniert aber, es muss irgendwie an dem ausdruck liegen?
ich meine, nur zum verständnis: wenn jemand eine url anfordert, die mit autor/ + "irgendwas" +.hmtl anfordert, dann wird intern auf autor/go="irgendwas" verwiesen, oder?
ich versteh nicht, wiso das nicht funktionieren soll? vieleicht kann mir jemand auf die sprünge helfen? ;-)
grüße, michael
Hi,
ich habe eine orginal URL:
/autor/?go=vita
und will dieser so aufrufbar machen:
/autor/vita.html
Dazu habe mir folgende RewriteRule gebastelt:
RewriteRule ^autor/(.*).html$ autor/?go=$1
Warum läßt Du bei der RewriteRule die / am Anfang der beiden URL-Teile weg?
cu,
Andreas
hi,
danke für deine antwort.
Dazu habe mir folgende RewriteRule gebastelt:
RewriteRule ^autor/(.*).html$ autor/?go=$1Warum läßt Du bei der RewriteRule die / am Anfang der beiden URL-Teile weg?
ich hab die beiden / jetzt mal eingebaut:
RewriteRule ^/autor/(.*).html$ /autor/?go=$1
bringt aber noch immer nix - ausser 404 ?
grüße,
michael
Hi,
ich hab die beiden / jetzt mal eingebaut:
RewriteRule ^/autor/(.*).html$ /autor/?go=$1
bringt aber noch immer nix - ausser 404 ?
Ist der DirectoryIndex richtig gesetzt?
Was passiert, wenn Du die URL
http://www.example.org/autor/?go=vita (example.org durch Deinen Server ersetzen)
im Browser in die Adreßzeile eingibst?
cu,
Andreas
hi,
Was passiert, wenn Du die URL
http://www.example.org/autor/?go=vita (example.org durch Deinen Server ersetzen)
im Browser in die Adreßzeile eingibst?
das klappt einwandfrei - da komme ich wunderbar an die entsprechende seite ran... ?
meine htaccess sieht so aus:
AddType application/x-httpd-php .php .php4 .html .htm
RewriteEngine on
Options +FollowSymLinks
RewriteBase /
RewriteRule ^/autor/(.*).html$ /autor/?go=$1
#RewriteRule ^(.*).html$ $1.php
grüße,
michael
Hallo,
meine htaccess sieht so aus:
AddType application/x-httpd-php .php .php4 .html .htm
RewriteEngine on
Options +FollowSymLinks
RewriteBase /
RewriteBase /autor
RewriteRule ^/autor/(.*).html$ /autor/?go=$1
eventuell so (da ich annehmen, dass du den ?go=xxx mit einem CGI oder PHP script machst):
RewriteRule ^autor/(.*).html$ /cgi-bin/dingsda.cgi?go=$1
HTH
Grüße
Thomas
hi,
RewriteBase /
RewriteRule ^/autor/(.*).html$ /autor/?go=$1
jetzt bist du ja doppelt am moppeln, wenn du als RewriteBase einen slash verlangst, und dann am anfang der Rule auch noch mal einen forderst.
gruß,
wahsaga
Hallo,
Dazu habe mir folgende RewriteRule gebastelt:
RewriteRule ^autor/(.*).html$ autor/?go=$1Warum läßt Du bei der RewriteRule die / am Anfang der beiden URL-Teile weg?
ich hab die beiden / jetzt mal eingebaut:
RewriteRule ^/autor/(.*).html$ /autor/?go=$1bringt aber noch immer nix - ausser 404 ?
Ich kann dir nicht sagen ob deine Regel richtig sind, aber ...
Wo definierst du diese Angaben?
Im httpd.conf oder in einer .htaccess-Datei?
Hast du "RewriteEngine On" vor "RewriteRule" auch gesetzt?
Wenn deine URL nicht direkt zu einer pysischen Adresse führt (z.B. wenn deine URL auf ein Alias basiert) muss du auch (nach "RewriteEngine" aber vor "RewriteRule" noch auch "RewriteBase /xyz" bestimmen.
Machst du diese Angaben in einer .htaccess muss du zusätzlich "Options FollowSymLinks" auch setzen (wenn der Serveradmin dies nicht erlaubt [d.h. es muss zumindest ein "AllowOverride Options" für dein Root-Verzeichniss gesetzt sein), kannst du mod_rewrite nicht nützen!)
Eventuell muss du noch vor "RewriteRule" auch "RewriteCond %{ QUERY_STRING}" setzen.
Grüße
Thomas