mod rewrite - ein paar Fragen...

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
corun
Regular
Posts: 117
Joined: Sun Jan 11, 2009 4:48 pm

mod rewrite - ein paar Fragen...

Post 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
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: mod rewrite - ein paar Fragen...

Post 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
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
corun
Regular
Posts: 117
Joined: Sun Jan 11, 2009 4:48 pm

Re: mod rewrite - ein paar Fragen...

Post 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 ?
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: mod rewrite - ein paar Fragen...

Post 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
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
corun
Regular
Posts: 117
Joined: Sun Jan 11, 2009 4:48 pm

Re: mod rewrite - ein paar Fragen...

Post by corun »

Hier gibt es eine gute Anleitung zu dem Thema...

http://coderz-home.de/webdesign-webprog ... -htaccess/
corun
Regular
Posts: 117
Joined: Sun Jan 11, 2009 4:48 pm

Re: mod rewrite - ein paar Fragen...

Post 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
yellowled
Regular
Posts: 7111
Joined: Fri Jan 13, 2006 11:46 am
Location: Eutin, Germany
Contact:

Re: mod rewrite - ein paar Fragen...

Post 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
corun
Regular
Posts: 117
Joined: Sun Jan 11, 2009 4:48 pm

Re: mod rewrite - ein paar Fragen...

Post by corun »

Hat wunderbar funktioniert :wink:

Danke
corun
Regular
Posts: 117
Joined: Sun Jan 11, 2009 4:48 pm

Re: mod rewrite - ein paar Fragen...

Post 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:
stm999999999
Regular
Posts: 1531
Joined: Tue Mar 07, 2006 11:25 pm
Location: Berlin, Germany
Contact:

Re: mod rewrite - ein paar Fragen...

Post 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.
Ciao, Stephan
Post Reply