Willkommen, Gast ( Anmelden | Registrierung )     [ Hilfe | Mitglieder | Suche ]

 
Reply to this topicStart new topic
> Probleme mit / in der URL
superdeluxe
Beitrag Wed. 13. June 2007, 07:33
Beitrag #1


Member
**

Gruppe: Members
Beiträge: 44
Mitglied seit: 06.07.2006
Wohnort: St.Gallen - Switzerland
Mitglieds-Nr.: 114



Hallo zusammen....

Ich hoffe jemand kann mir hierbei helfen. Komischerweise kann ich die URL www.metropol-arbon.ch/kontakt nicht öffnen, www.metropol-arbon.ch/kontakt/ hingegen schon. Kann das sein? Muss ein Slash am ende der URL mitgegeben werden? Wäre ja ziemlich unlogisch, nicht?

Der Beitrag wurde von superdeluxe bearbeitet: Wed. 13. June 2007, 07:34


--------------------
Go to the top of the page
 
+Quote Post
andi
Beitrag Wed. 13. June 2007, 07:52
Beitrag #2


purist
********

Gruppe: AdvancedMembers
Beiträge: 1.525
Mitglied seit: 30.06.2006
Wohnort: luzern (schweiz)
Mitglieds-Nr.: 16



hallo

doch, das ist so...finde ich allerdings auch nicht ganz unheikel.


gruss andi


--------------------
Go to the top of the page
 
+Quote Post
superdeluxe
Beitrag Wed. 13. June 2007, 08:47
Beitrag #3


Member
**

Gruppe: Members
Beiträge: 44
Mitglied seit: 06.07.2006
Wohnort: St.Gallen - Switzerland
Mitglieds-Nr.: 114



Oh.. Nein, echt! Das finde ich aber ziemlich uncool. Vorallem dann, wenn man die URL irgendwie kommunizieren muss. Gibts einen Workaround? Kann man das irgendwie per Regel beheben?


--------------------
Go to the top of the page
 
+Quote Post
andi
Beitrag Wed. 13. June 2007, 09:00
Beitrag #4


purist
********

Gruppe: AdvancedMembers
Beiträge: 1.525
Mitglied seit: 30.06.2006
Wohnort: luzern (schweiz)
Mitglieds-Nr.: 16



denke nicht. wie in meinem verlinkten beitrag zu entnehmen ist. man könnte einzig ein feature request starten. in wiefern das dann umsetzbar ist weiss ich jedoch nicht.

gruss andi


--------------------
Go to the top of the page
 
+Quote Post
alexander
Beitrag Wed. 13. June 2007, 09:43
Beitrag #5


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 853
Mitglied seit: 16.06.2006
Wohnort: Wien / Österreich
Mitglieds-Nr.: 2



CODE

#
# Add a trailing slash if a " virtual folder" is requested without a trailing slash.
#
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..+$
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) $1/ [R=301,L]


Hier mal ein eventueller Lösungsanastz für das Problem. Diese Rewrite Statement gleich ganz am Anfang der .htaccess nach RewriteEngine on einfügen. Nicht vergessen eventuell das Statement RewriteBase anzupassen.

Das ganze ist aber ungetestet, keine Ahnung ob das mit allen Modulen, Plugins usw. auch funktioniert.

Auf jeden Fall geht es nicht, wenn der Foldername der ohne Slash aufgerufen wird selbst einen Punkt enthält oder wenn im System keine Extension die durch einen Punkt (ala *.html) getrennt ist verwendet wird.

Update: Der 301 Code beim Redirect ist wohl Geschmacksache wink.gif


--------------------
SEFRENGO | a free choice ... again!
Go to the top of the page
 
+Quote Post
superdeluxe
Beitrag Wed. 13. June 2007, 17:02
Beitrag #6


Member
**

Gruppe: Members
Beiträge: 44
Mitglied seit: 06.07.2006
Wohnort: St.Gallen - Switzerland
Mitglieds-Nr.: 114



Hmm... mal probieren, oder? Ich melde mich dann nochmals. Danke.


--------------------
Go to the top of the page
 
+Quote Post
STam
Beitrag Wed. 13. June 2007, 17:05
Beitrag #7


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 541
Mitglied seit: 27.06.2006
Mitglieds-Nr.: 8



... also eigentlich, um das Problem richtig zu lösen,
müsste man nur in der Datei 'projektxy/index.php'
folgendes tun:
CODE
//get idcatside or idcat
if ($sf_rw_is_page) {
//page
$sf_rw_suffix = str_replace('.', '\.', $cfg_client['url_rewrite_suffix']);
$v = preg_replace('#'.$sf_rw_suffix.'$#', '', $sf_rw_pieces['0']);
$sql = "SELECT DISTINCT
CS.idcatside, CS.idcat
FROM
".$cms_db['cat_side']." CS
LEFT JOIN ".$cms_db['side_lang']." CL USING(idside)
WHERE
CL.idlang= '$sf_rw_lang_id'
AND CL.rewrite_url = '".$v."'";
$db->query($sql);
$db->num_rows();
if ($db->num_rows() > 0) {
while ($db->next_record()) {
$sf_rw_possibleidcats[$db->f('idcatside')] = $db->f('idcat');
}
array_shift($sf_rw_pieces);
foreach($sf_rw_possibleidcats AS $k=>$v) {
if(rewriteIdcatIsUniqueToPath($v, $sf_rw_lang_id, $sf_rw_pieces)) {
//echo "IN";
$idcatside = $k;
//$idcat = $v;
break;
}
}
}
} else {
//cat
$sql = "SELECT DISTINCT
C.idcat, C.parent
FROM
".$cms_db['cat']." C
LEFT JOIN ".$cms_db['cat_lang']." CL USING(idcat)
WHERE
CL.idlang = '$sf_rw_lang_id'
AND rewrite_alias = '".$sf_rw_pieces['0']."'";
$db->query($sql);
if ($db->num_rows() > 0) {
$sf_rw_possibleidcats = array();
while ($db->next_record()) {
array_push($sf_rw_possibleidcats, $db->f('idcat') );
}

foreach ($sf_rw_possibleidcats AS $v) {
if(rewriteIdcatIsUniqueToPath($v, $lang, $sf_rw_pieces)) {
$idcat = $v;
break;
}
}
}
}

... damit tauschen
CODE
//get idcatside or idcat
if ($sf_rw_is_page) {
//page
$sf_rw_suffix = str_replace('.', '\.', $cfg_client['url_rewrite_suffix']);
$v = preg_replace('#'.$sf_rw_suffix.'$#', '', $sf_rw_pieces['0']);
$sql = "SELECT DISTINCT
CS.idcatside, CS.idcat
FROM
".$cms_db['cat_side']." CS
LEFT JOIN ".$cms_db['side_lang']." CL USING(idside)
WHERE
CL.idlang= '$sf_rw_lang_id'
AND CL.rewrite_url = '".$v."'";
$db->query($sql);
$db->num_rows();
if ($db->num_rows() > 0) {
while ($db->next_record()) {
$sf_rw_possibleidcats[$db->f('idcatside')] = $db->f('idcat');
}
array_shift($sf_rw_pieces);
foreach($sf_rw_possibleidcats AS $k=>$v) {
if(rewriteIdcatIsUniqueToPath($v, $sf_rw_lang_id, $sf_rw_pieces)) {
//echo "IN";
$idcatside = $k;
//$idcat = $v;
break;
}
}
} else {
$sf_rw_is_page = false;
}
}
if (!$sf_rw_is_page) {
//cat
$sql = "SELECT DISTINCT
C.idcat, C.parent
FROM
".$cms_db['cat']." C
LEFT JOIN ".$cms_db['cat_lang']." CL USING(idcat)
WHERE
CL.idlang = '$sf_rw_lang_id'
AND rewrite_alias = '".$sf_rw_pieces['0']."'";
$db->query($sql);
if ($db->num_rows() > 0) {
$sf_rw_possibleidcats = array();
while ($db->next_record()) {
array_push($sf_rw_possibleidcats, $db->f('idcat') );
}

foreach ($sf_rw_possibleidcats AS $v) {
if(rewriteIdcatIsUniqueToPath($v, $lang, $sf_rw_pieces)) {
$idcat = $v;
break;
}
}
}
}
... wobei ich hier auch der übersichtlichkeit alle unnützen Kommentare gelöscht habe wink.gif

Man beachte das die eigentliche Änderung nur diesen Teil umfasst:
(vorher)
QUELLTEXT
  }
} else {
(nacher)
QUELLTEXT
  } else {
    $sf_rw_is_page = false;
  }
}
if (!$sf_rw_is_page) {


Gruß
Bearbeitungsgrund: codebox verwenden!
Go to the top of the page
 
+Quote Post
alexander
Beitrag Wed. 13. June 2007, 17:10
Beitrag #8


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 853
Mitglied seit: 16.06.2006
Wohnort: Wien / Österreich
Mitglieds-Nr.: 2



richtig wäre codebox zu benutzen


--------------------
SEFRENGO | a free choice ... again!
Go to the top of the page
 
+Quote Post
STam
Beitrag Wed. 13. June 2007, 17:12
Beitrag #9


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 541
Mitglied seit: 27.06.2006
Mitglieds-Nr.: 8



...
ZITAT
richtig wäre codebox zu benutzen
... oh wow, ich liebe solche Troll-Kommentare, Rechtschreibfehler kannste auch behalten wub.gif

Gruß
Go to the top of the page
 
+Quote Post
pawel
Beitrag Wed. 13. June 2007, 20:11
Beitrag #10


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 442
Mitglied seit: 02.07.2006
Wohnort: Halle
Mitglieds-Nr.: 71



Es gibt also mehr als die eine Lösung.


--------------------
Go to the top of the page
 
+Quote Post
STam
Beitrag Wed. 13. June 2007, 20:39
Beitrag #11


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 541
Mitglied seit: 27.06.2006
Mitglieds-Nr.: 8



Der Nachteil einer Modrewrite Lösung liegt auf der Hand,
eine Regel basiert immer auf einer Annahme
und nicht auf einer tatsächlichen Prüfung!

Gruß
Go to the top of the page
 
+Quote Post
alexander
Beitrag Wed. 13. June 2007, 21:50
Beitrag #12


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 853
Mitglied seit: 16.06.2006
Wohnort: Wien / Österreich
Mitglieds-Nr.: 2



@pawel: ich bin mir ziemlich sicher, das es mit modrewrite noch andere Lösungswege gibt - das ist wie mit den unendlichen weiten des weltraums biggrin.gif


--------------------
SEFRENGO | a free choice ... again!
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 Besucher lesen dieses Thema (Gäste: 1 | Anonyme Besucher: 0)
0 Mitglieder:

 



RSS Vereinfachte Darstellung Aktuelles Datum: 24.4.24 - 11:23

Sefrengo ist ein eingetragenes Markenzeichen und urheberrechtlich geschützt.
Copyright 2009 Design & Daten, Alle Rechte vorbehalten.