Page 1 of 1

mod rewrite - ein paar Fragen...

Posted: Wed Apr 01, 2009 10:29 am
by corun
Momentan verwenden wir noch kein mod rewrite in unserem Blog - uns ist aber mittlerweile auch zu ohren gekommen das diese Funktion den Page Rank erhöhen kann, daher möchte wir diese Funktion nun aktivieren.

1.
Da ich hier im Forum "vorausgesetzt ich habe das richtig verstanden" mal gelesen habe, das nach Umstellung auf mod rewrite gewisse url´s nach der Umformung nicht mehr angezeigt werden konnten, hat uns das etwas erschreckt :-)

2.
Kommt so etwas häufiger vor ? Falls ja, hat sich das für uns erstmal erledigt, gibt ja bekanntlich nichts schlimmeres als technische Probleme die man selbst nicht mehr in den Griff bekommt :shock:

3.
Im Konfigurationsmodul unseres Hosters steht nur das nicht festgestellt werden kann ob das Modul aktiviert ist oder nicht. Kann ich das mit einem Trick z.B. über eine speziell preparierte Datei herausfinden ob die Funktion nun aktiviert oder deaktiviert ist ?

Wünsche einen sonnigen Tag 8)
thx&bye

Re: mod rewrite - ein paar Fragen...

Posted: Wed Apr 01, 2009 1:41 pm
by garvinhicking
Hi!

Was sich ändert sind hauptsächlich die URLs von statischen Seiten. Diese haben nur einen fixen permalink. Alle anderen s9y Links zu Blog-Beiträgen funktionieren auch nach URL-Rewriting noch korrekt, da die alte index.php?/blablabla logik auch als Fallback klappt.

Für die Umleitung der alten statischen Seiten-URLS zu den neuen muss man daher manuell RewriteRules festlegen.
3.
Im Konfigurationsmodul unseres Hosters steht nur das nicht festgestellt werden kann ob das Modul aktiviert ist oder nicht. Kann ich das mit einem Trick z.B. über eine speziell preparierte Datei herausfinden ob die Funktion nun aktiviert oder deaktiviert ist ?
Du könntest in einem unabhängigen Unterverzeichnis mal eine .htaccess mit Testregeln einfügen. Einfach mal nach ".htaccess RewriteEngine example" oder so googeln.

Grüße,
Garvin

Re: mod rewrite - ein paar Fragen...

Posted: Wed Apr 01, 2009 4:29 pm
by corun
garvinhicking wrote:Hi!

Was sich ändert sind hauptsächlich die URLs von statischen Seiten. Diese haben nur einen fixen permalink. Alle anderen s9y Links zu Blog-Beiträgen funktionieren auch nach URL-Rewriting noch korrekt, da die alte index.php?/blablabla logik auch als Fallback klappt.

Für die Umleitung der alten statischen Seiten-URLS zu den neuen muss man daher manuell RewriteRules festlegen.
Wie und wo genau muss ich diese dann anlegen ?

Re: mod rewrite - ein paar Fragen...

Posted: Thu Apr 02, 2009 12:58 pm
by garvinhicking
Hi!
Wie und wo genau muss ich diese dann anlegen ?
Wie ich schrieb:
Du könntest in einem unabhängigen Unterverzeichnis mal eine .htaccess mit Testregeln einfügen. Einfach mal nach ".htaccess RewriteEngine example" oder so googeln.
Dafür müsste es millionen Suchtreffer geben. ;)

Grüße,
Garvin

Re: mod rewrite - ein paar Fragen...

Posted: Fri Apr 03, 2009 6:46 pm
by corun
Hier gibt es eine gute Anleitung zu dem Thema...

http://coderz-home.de/webdesign-webprog ... -htaccess/

Re: mod rewrite - ein paar Fragen...

Posted: Sun Apr 05, 2009 2:44 pm
by corun
Habe mod_rewrite jetzt aktiviert und im Adminmenü unter

Design und Optionen - URL-Formung "Use Apache mod_rewrite" eingestellt.

Soweit funktioniert das auch ganz gut, mit der kleinen Ausnahme das unser Logo, welches mit einer url hinterlegt ist "zurück zur Startseite" nicht mehr angezeigt wird, sobald man auf einen Beitrag klickt.

Hier der Code welcher vor der Nutzung von mod_rewrite noch funktionierte:

index.tpl

<table align="center">
<tr>
<td>
<a href="http://www.bonnyworld.net">
<img src="./templates/bonnyworld/img/header.png"/>
</a>
</td>
</tr>
</table>

Hier die Seite http://bonnyworld.net

Was muss ich genau in die .htaccess einfügen damit es wieder funktioniert und das Logo auch in den Beiträgen angezeigt wird und nicht nur auf der Startseite ?

thx&bye

Re: mod rewrite - ein paar Fragen...

Posted: Sun Apr 05, 2009 4:30 pm
by yellowled
corun wrote:<table align="center">
<tr>
<td>
<a href="http://www.bonnyworld.net">
<img src="./templates/bonnyworld/img/header.png"/>
</a>
</td>
</tr>
</table>
Aua. 'tschuldigung, nicht übel nehmen -- aber: Aua :)

Der eigentliche Code in diesem Bereich im i3theme ist bekanntlich:

Code: Select all

<h1><a href="{$serendipityBaseURL}">{$head_title|@default:$blogTitle}</a></h1>
<div class="description">{$head_subtitle|@default:$blogDescription}</div>
Sinnvoll würde man das so durch ein grafisches Logo ersetzen:

Code: Select all

<h1><a href="{$serendipityBaseURL}"><img src="{$serendipityBaseURL}templates/{$template}/img/header.png" width="463" height="106" alt="{$blogTitle}" /></a></h1>
Das ist deshalb sinnvoller, weil die h1 erhalten wird, bei Browsern mit abgeschalteten Grafiken oder Textbrowsern der alt-Text ausgegeben wird und es keine Leerelemente gibt (und es sollte auch streßfrei mit mod_rewrite zusammenarbeiten).

Das Ganze dann so per CSS zurechtzurren:

Code: Select all

#header h1 {
    position: absolute;
    top: 0;
    left: 210px;
}
Die genaue absolute Positionierung muss ggf. noch leicht angepasst werden.

YL

Re: mod rewrite - ein paar Fragen...

Posted: Sun Apr 05, 2009 6:36 pm
by corun
Hat wunderbar funktioniert :wink:

Danke

Re: mod rewrite - ein paar Fragen...

Posted: Fri Apr 10, 2009 5:43 pm
by corun
Uns ist gerade aufgefallen das die Links für Impressum | Haftungsausschluss | Datenschutzerklärung welche über das "static page plugin" laufen nicht mehr funktionieren. Soweit ich das verstanden habe, muss man diese manuell in die htaccess eintragen welche nach der Umstellung auf mod_rewrite automatisch von Serendipty angelegt wurde.

Nach einem Blick in diese Datei, stand ich aber recht Rätselratend dar :-)

Was muss ich hier genau einfügen/anpassen damit folgende Links, welche vor mod_rewrite
noch funktionierten auch weiterhin korrekt arbeiten:

http://bonnyworld.net/bonnyworld/index. ... essum.html
/bonnyworld/index.php?/pages/impressum.html <-- so stand der Link im static page plugin

http://bonnyworld.net/bonnyworld/index. ... hluss.html
/bonnyworld/index.php?/pages/haftungsausschluss.html <-- so stand der Link im static page plugin

http://bonnyworld.net/bonnyworld/index. ... chutz.html
/bonnyworld/index.php?/pages/agb_datenschutz.html <-- so stand der Link im static page plugin

Hier der Code welcher momentan in der htaccess steht:

Code: Select all

# BEGIN s9y
ErrorDocument 404 /bonnyworld/index.php
DirectoryIndex /bonnyworld/index.php

RewriteEngine On
RewriteBase /bonnyworld/
RewriteRule ^serendipity_admin.php serendipity_admin.php [NC,L,QSA]
RewriteRule ^((archives/([0-9]+)-[0-9a-z\.\_!;,\+\-\%]+\.html)/?) index.php?/$1 [NC,L,QSA]
RewriteRule ^(authors/([0-9]+)-[0-9a-z\.\_!;,\+\-\%]+) index.php?/$1 [NC,L,QSA]
RewriteRule ^(feeds/categories/([0-9;]+)-[0-9a-z\.\_!;,\+\-\%]+\.rss) index.php?/$1 [NC,L,QSA]
RewriteRule ^(feeds/authors/([0-9]+)-[0-9a-z\.\_!;,\+\-\%]+\.rss) index.php?/$1 [NC,L,QSA]
RewriteRule ^(categories/([0-9;]+)-[0-9a-z\.\_!;,\+\-\%]+) index.php?/$1 [NC,L,QSA]
RewriteRule ^archives([/A-Za-z0-9]+)\.html index.php?url=/archives/$1.html [NC,L,QSA]
RewriteRule ^([0-9]+)[_\-][0-9a-z_\-]*\.html index.php?url=$1-article.html [L,NC,QSA]
RewriteRule ^feeds/(.*) index.php?url=/feeds/$1 [L,QSA]
RewriteRule ^unsubscribe/(.*)/([0-9]+) index.php?url=/unsubscribe/$1/$2 [L,QSA]
RewriteRule ^approve/(.*)/(.*)/([0-9]+) index.php?url=approve/$1/$2/$3 [L,QSA]
RewriteRule ^delete/(.*)/(.*)/([0-9]+) index.php?url=delete/$1/$2/$3 [L,QSA]
RewriteRule ^(admin|entries)(/.+)? index.php?url=admin/ [L,QSA]
RewriteRule ^archive/? index.php?url=/archive [L,QSA]
RewriteRule ^(index|atom[0-9]*|rss|b2rss|b2rdf).(rss|rdf|rss2|xml) rss.php?file=$1&ext=$2
RewriteRule ^(plugin|plugin)/(.*) index.php?url=$1/$2 [L,QSA]
RewriteRule ^search/(.*) index.php?url=/search/$1 [L,QSA]
RewriteRule ^comments/(.*) index.php?url=/comments/$1 [L,QSA]
RewriteRule ^(serendipity\.css|serendipity_admin\.css) index.php?url=/$1 [L,QSA]
RewriteRule ^index\.(html?|php.+) index.php?url=index.html [L,QSA]
RewriteRule ^htmlarea/(.*) htmlarea/$1 [L,QSA]
#RewriteCond %{REQUEST_URI} !-U
RewriteRule (.*\.html?) index.php?url=/$1 [L,QSA]

<Files *.tpl.php>
    deny from all
</Files>

<Files *.tpl>
    deny from all
</Files>

<Files *.sql>
    deny from all
</Files>

<Files *.inc.php>
    deny from all
</Files>

<Files *.db>
    deny from all
</Files>

# END s9y
Danke für Eure Hilfe

P.S. nicht wunder das es z.Zt. wieder geht aber meine Freundin hat was manuell im static page plugin angepasst..... . Hätte es aber lieber 100% in der htaccess stehen ohne gefrickel an anderen Stellen :wink:

Re: mod rewrite - ein paar Fragen...

Posted: Fri Apr 24, 2009 5:58 pm
by stm999999999
Äh, Sinn der ganzen URL-Umformung ist ja gerade, daß so Ungetüme wie http://bonnyworld.net/bonnyworld/index. ... essum.html nicht mehr genutzt werden sondern neu http://bonnyworld.net/bonnyworld/pages/ ... hluss.html

Und das kannst Du doch in Deinem Template auch einfach an der einen Stelle ändern und fertig!?

die manuelle htaccess-Geschichte als Fallback ist doch eher für den Fall, daß Du in alten Einträgen interne Links hast, die Du nicht alle verändern willst, oder das externe auf Deine Seiten linken und Du deren Links nicht totlaufen lassen willst.