Seite 26 von 53

RewriteRules zum Problem Trailing-Slashes

Verfasst: Mi 21. Jun 2006, 16:47
von panti
Im Moment ist folgendes nicht möglich:
http://www.domain.ch/xyz
man muss den URL explizit mit einem Slash beenden, also so
http://www.domain.ch/xyz/

Die Rules einfach durch folgende ersetzen (gilt nur für drei Unterverzeichnisse), dann klappt es (wer den Code effizienter gestalten kann, bitte melden!):

@stese: evtl. beim nächsten Update einbinden?

Code: Alles auswählen

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/(.*).html$ front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&artname=$4 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/$ front_content.php?parts[]=$1&parts[]=$2&parts[]=$3 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/\.]+)$ front_content.php?parts[]=$1&parts[]=$2&parts[]=$3 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/(.*).html$ front_content.php?parts[]=$1&parts[]=$2&artname=$3 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/$ front_content.php?parts[]=$1&parts[]=$2 [QSA,L]
RewriteRule ^([^/]+)/([^/\.]+)$ front_content.php?parts[]=$1&parts[]=$2 [QSA,L]
RewriteRule ^([^/]+)/(.*).html$ front_content.php?parts[]=$1&artname=$2 [QSA,L]
RewriteRule ^([^/]+)/$ front_content.php?parts[]=$1 [QSA,L]
RewriteRule ^([^/\.]+)$ front_content.php?parts[]=$1 [QSA,L]
RewriteRule ^(.*).html$ front_content.php?artname=$1 [QSA,L]
RewriteRule ^$ front_content.php [QSA,L]

Gruss
Panti

Verfasst: Do 22. Jun 2006, 12:07
von rene04
ich hab da auch noch ne frage. die rewrite engine wird ja über die htaccess gestartet und abgeschaltet. jetzt hab ich aber in der apache config auch schon ein RewrriteEngine On stehen + Options FollowSymLinks. is immo kein problem, funktioniert.

jetzt hab ich auf meiner site nen directory listing für ein bestimmtes verzeichnis eingebaut zum sachen downloaden(wird später duch modul ersetzt). in diesem listing werden mir aber leider keine symlinks angezeigt. :( wenn ich in der htaccess dann vor RewriteEngine On schreibe: Options FollowSymLinks oder +FollowSymLinks bekomm ich beim aufruf von der site nen 500 error. nehm ich die options aus der htaccess geht die site problemlos.

was kann das sein?

gruesse

Verfasst: Do 22. Jun 2006, 13:03
von stese
keine ahnung, ich kenne mich mit servern und diesen ganzen modrewrite geschichten nicht wirklich aus. ich habe nur das contenido abgeändert dass es damit nutzbar ist. aber wende dich mal an der forum von modrewrite.de - die können dir da eher helfen denke ich

Verfasst: Do 22. Jun 2006, 13:05
von rene04
und da sagte darvin damals das nur das beste genmaterial überlebt. hmmm, da kannte er mich noch net :) war das falsche verz. sorry.

gruesse

Rewrite klappt, doch Hauptnavi fehlt ?!?

Verfasst: Mo 26. Jun 2006, 09:53
von spinat
Hallo Rewrite-Fans,

habe gerade die 4.6.8 (original Stese) installiert - das klappt auch wunderbar und das mod_rewrite läuft problemlos. Allerdings habe ich keine Hauptnavi mehr ?!? Die Ausgabe im Frontend sieht so aus:

----
<html>
<head>
<base href="http://xxx.xxx.xxx/contenido-4.6.8/cms/"><link rel="stylesheet" type="text/css" href="css/style.css">
<title>Willkommen</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="generator" content="CMS Contenido 4.6.8">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body bgcolor="#FFFFFF" text="#000000" style="margin:0px">
<center><table width="100%" height="100%" border="0" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" cellspacing="0" cellpadding="0">
<tr>
<td width="*" height="89" valign="top">&nbsp;</td>
<td width="180" valign="top" bgcolor="F0F0F0" style="border: 0px; border-left: 1px; border-right: 1px; border-top: 0px; border-color: #C3C3C3; border-style: solid;">&nbsp;</td>
<td width="530" valign="top" background="upload/bilder/banner.jpg" style="border: 0px; border-left: 0px; border-right: 1px; border-bottom: 0px; border-color: #C3C3C3; border-style: solid;"><table valign="bottom"><tr><td><valign="left"><a href="/contenido-4.6.8/" class="additionalnavi">English</a></td></tr></table></td>
<td width="*" valign="top">&nbsp;</td>
</tr>
<tr>
<th colspan="4" height="2" bgcolor="CC0000"> </th>
</tr>
<tr>
<td rowspan="3" valign="top">&nbsp;</td>
<td rowspan="2" width="150" valign="top" bgcolor="F0F0F0" style="border: 0px; border-left: 1px; border-right: 1px; border-top: 0px; border-color: #C3C3C3; border-style: solid;"><br></td>
<td rowspan="3" width="530" valign="top" style="border: 0px; border-left: 0px; border-right: 1px; border-bottom: 0px; border-color: #C3C3C3; border-style: solid;">
<table><tr><td height="8"></td></tr><tr><td><h1 class="content">Bla Bla</h1></td></tr><tr><td><p></p></td></tr><tr><td><br><p></p></td></tr></table></td>
<td height="295" valign="top"></td>
</tr>
<tr>
<td valign="top" rowspan="2"></td>
<td height="8"></td>
</tr>
<tr>
<td valign="top" height="*" bgcolor="F0F0F0" style="border: 0px; border-left: 1px; border-right: 1px; border-bottom: 0px; border-color: #C3C3C3; border-style: solid;">&nbsp;</td>
<td></td>
</tr>
</table></center>
</body>
</html>

---

Hat jemand eine Idee, was da schiefgehen könnte ?

Gruß
Ben

Verfasst: Mo 26. Jun 2006, 09:53
von rene04
hallo,

jetzt habe ich ein weiteres problem. ich habe 2 mandanten. für den ersten klappt das nun alles wunderbar, nur eben für den zweiten nicht. ich vermute mal ganz stark das das an der index.php liegt welche auf das verz /cms weiterleitet.

wie mach ich das nun das ich wieder auf den zweiten mandanten komme im frontend?

gruesse

Verfasst: Mo 26. Jun 2006, 09:56
von stese
die htaccess in das mandantenverzeichnis legen, die modrewrite einstellungen aus contenido/config.php in die [mandantenverzeichnis]/config.php schieben, so dass die mandanten einzeln konfigurierbar bleiben. die verschiedenen domains der mandanten direkt auf das mandantenverzeichnis pointen lassen.

Verfasst: Mo 26. Jun 2006, 10:16
von rene04
also ich habe nun folgendes getan:

- htaccess aus / gelöscht
- htaccess in /cms und /consolve gelegt und das rewritebase verz angepasst: /cms + /consolve
- in der /contenido/includes/config.php wird nach dem ort der htaccess gefragt. was geb ich denn da nun an. hab ja 2.

gruesse

Verfasst: Mo 26. Jun 2006, 10:19
von mvf
rene04 hat geschrieben:a
- in der /contenido/includes/config.php wird nach dem ort der htaccess gefragt. was geb ich denn da nun an. hab ja 2.

gruesse
schau mal was stese grade dir vor deiner frage geraten hatte
die modrewrite einstellungen aus contenido/config.php in die [mandantenverzeichnis]/config.php schieben
immer erst lesen dann nachfragen

Verfasst: Mo 26. Jun 2006, 10:55
von rene04
soweit habe ich das nun mal umgesetzt. was ist mit der index.php? soll die gelöscht werden?

gruesse rene

Verfasst: Mo 26. Jun 2006, 11:03
von mvf
rene04 hat geschrieben:soweit habe ich das nun mal umgesetzt. was ist mit der index.php? soll die gelöscht werden?

gruesse rene
ach rene jetzt komm :evil: ;)

stese hat doch genau geschrieben was zu tun ist

Code: Alles auswählen

die verschiedenen domains der mandanten direkt auf das mandantenverzeichnis pointen lassen

Verfasst: Mo 26. Jun 2006, 11:18
von rene04
gut. funktioniert! das rewrite bei mandant no2 allerdings nicht.

gruesse

Verfasst: Mo 26. Jun 2006, 11:39
von mvf
rene04 hat geschrieben:gut. funktioniert! das rewrite bei mandant no2 allerdings nicht.

gruesse
wenn du es genauso gemacht hast wie bei mandant 1, sollte es gehen

nochmal:

contenido/includes/config.php den unteren abschnitt für MR ausschneiden (!) und in 'alle' mandanten configs kopieren, also nach cms/config.php und consolve/config.php

die htaccessen dann jeweils nach cms/config.php und consolve/config.php
legen, nicht ins root

anschliessend die mandanten mit mydomain/cms/ bzw mydomain/consolve aufrufen, bzw die domains für die mandanten dahin zeigen lassen

Verfasst: Di 27. Jun 2006, 16:34
von micha667
also irgendwie will das bei mir nicht.. hab mich jetzt durch die 27 seiten des threads geackert...muß aber trotzdem nochmal nachfragen:

die installation sieht bei mir so aus wie immer:

xyz.server.de/wwwXX/con/cms/ (frontend)
xyz.server.de/wwwXX/con/contenido/ (backend)

installation von contenido und die .htaccess (sowie die dazugehörige index) liegen also im ordner "con".

einstellungen:
$cfg['mod_rewrite']['rootdir'] = '/con/';

in der .htaccess:

RewriteBase /cms

müsste doch eigentlich korrekt sein?! kriege aber den "Internal Server Error" obwohl ich genau weiß, daß rewrite auf dem server geht.

jemand ne idee?

danke
gruß
micha

Verfasst: Di 27. Jun 2006, 18:59
von mvf
wo liegt die .htacess?

in con? oder im webroot der domain?