URL ohne index.php
-
Dragonblast
- Regular
- Posts: 23
- Joined: Thu Jan 11, 2007 3:05 pm
URL ohne index.php
Hallo allerseits !
Meine URL's sind so dargestellt:
http://www.xyz.ch/blog/index.php?/archives/2007/04.html
Wie kann man da das index.php rausnehmen ?
Freundliche Grüsse
Meine URL's sind so dargestellt:
http://www.xyz.ch/blog/index.php?/archives/2007/04.html
Wie kann man da das index.php rausnehmen ?
Freundliche Grüsse
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Re: URL ohne index.php
Hi!
Über die Konfiguration, "URL Rewriting". Dass muss dein Server jedoch understützen (custom .htaccess und/oder mod_rewrite).
Grüße,
Garvin
Über die Konfiguration, "URL Rewriting". Dass muss dein Server jedoch understützen (custom .htaccess und/oder mod_rewrite).
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/
# 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/
-
Dragonblast
- Regular
- Posts: 23
- Joined: Thu Jan 11, 2007 3:05 pm
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Wenn das aktiviert ist dürfte nirgendwo "index.php?/..." auftauchen. Nenn mal deine URL und sag uns wo das Auftritt.
Grüße,
Garvin
Wenn das aktiviert ist dürfte nirgendwo "index.php?/..." auftauchen. Nenn mal deine URL und sag uns wo das Auftritt.
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/
# 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/
-
Dragonblast
- Regular
- Posts: 23
- Joined: Thu Jan 11, 2007 3:05 pm
Hey
Blogurl wäre diese hier: http://www.bkanal.ch/blog/
Und das "index.php?/" tritt beinahe Überall auf ( Titellink, Authorlink etc. )
Freundliche Grüsse
Blogurl wäre diese hier: http://www.bkanal.ch/blog/
Und das "index.php?/" tritt beinahe Überall auf ( Titellink, Authorlink etc. )
Freundliche Grüsse
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Es ist technisch unmöglich dass auf dieser Seite "URL-Rewriting" in der s9y Konfiguration auf "Apache Errorhandling" oder "mod_rewrite" steht. Bitte prüfe es erneut und korrigiere die Einstellung.
Grüße,
Garvin
Es ist technisch unmöglich dass auf dieser Seite "URL-Rewriting" in der s9y Konfiguration auf "Apache Errorhandling" oder "mod_rewrite" steht. Bitte prüfe es erneut und korrigiere die Einstellung.
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/
# 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/
-
Dragonblast
- Regular
- Posts: 23
- Joined: Thu Jan 11, 2007 3:05 pm
Habe es erneut überprüft und die Einstellung nochmals auf mod_rewrite gesetzt. Jedoch ohne Erfolg.
Das Problem müsste woanders liegen. Denn diese URL:
http://www.bkanal.ch/blog/index.php?/ar ... nert!.html
funktioniert auch so:
http://www.bkanal.ch/blog/archives/1262 ... nert!.html
Das würde doch heissen, das mod_rewrite läuft, oder ?
Freundliche Grüsse
Das Problem müsste woanders liegen. Denn diese URL:
http://www.bkanal.ch/blog/index.php?/ar ... nert!.html
funktioniert auch so:
http://www.bkanal.ch/blog/archives/1262 ... nert!.html
Das würde doch heissen, das mod_rewrite läuft, oder ?
Freundliche Grüsse
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Mach mal ein phpMyAdmin auf und führe folgende SQL-Abfrage aus:
(wenn du nen anderen Datenbankpräfix hast, den natürlich anpassen)
Dass die URL klappt kann auch einfach heißen dass die .htaccess Datei das korrekt umleitet. Wie s9y die Links aber generiert hängt von obiger Einstellung ab. Es gibt also zwei Teile vom URL Rewritung: Einmal die Umformung für die Links innerhalb von Serendipity, und dann einen Teil der umgeformte Links auf die richtige URL umbiegt.
Grüße,
Garvin
Mach mal ein phpMyAdmin auf und führe folgende SQL-Abfrage aus:
Code: Select all
SELECT * FROM serendipity_config WHERE name = 'rewrite';
Dass die URL klappt kann auch einfach heißen dass die .htaccess Datei das korrekt umleitet. Wie s9y die Links aber generiert hängt von obiger Einstellung ab. Es gibt also zwei Teile vom URL Rewritung: Einmal die Umformung für die Links innerhalb von Serendipity, und dann einen Teil der umgeformte Links auf die richtige URL umbiegt.
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/
# 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/
-
Dragonblast
- Regular
- Posts: 23
- Joined: Thu Jan 11, 2007 3:05 pm
Code: Select all
SQL-Abfrageergebnis
Host: localhost
Datenbank: bkanalch_cakephp
Erstellungszeit: 27. April 2007 um 18:27
Erstellt von: phpMyAdmin 2.6.2-Debian-3sarge3 / MySQL 4.1.15-Debian_0.dotdeb.4-log
SQL-Befehl: SELECT * FROM blog_config WHERE name = 'rewrite' LIMIT 0, 30;
Zeilen: 1
name value authorid
rewrite rewrite 0
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Hm. Stells mal testweise auf "errordocs", den Inhalt der Variable?
Das ist sehr strange. Du hast aber schon ne aktuelle s9y version und die nicht selber gepatcht an irgendwelchen stellen, oder?
Grüße,
Garvin
Hm. Stells mal testweise auf "errordocs", den Inhalt der Variable?
Das ist sehr strange. Du hast aber schon ne aktuelle s9y version und die nicht selber gepatcht an irgendwelchen stellen, oder?
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/
# 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/
-
Dragonblast
- Regular
- Posts: 23
- Joined: Thu Jan 11, 2007 3:05 pm
Das Einzige was ich gepatcht habe, war die .htaccess. Und zwar weil der Blog in CakePHP läuft, und so der Pfad angepasst werden musste.
Diese sieht nun wie folgt aus:
Schalte ich nun auf errodocs, dann sieht die .htaccess so aus:
Und ich erhalte vom Browser folgende Meldung:
Diese sieht nun wie folgt aus:
Code: Select all
# BEGIN s9y
ErrorDocument 404 index.php
DirectoryIndex index.php
php_value session.use_trans_sid 0
php_value register_globals off
RewriteEngine On
RewriteBase /blog/
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]
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
Schalte ich nun auf errodocs, dann sieht die .htaccess so aus:
Code: Select all
# BEGIN s9y
ErrorDocument 404 /blog/index.php
DirectoryIndex /blog/index.php
php_value session.use_trans_sid 0
php_value register_globals off
<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
Code: Select all
Fehler: Umleitungsfehler
Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Also ich verstehe nicht ganz was abläuft. Ich reduziere den Thread jetzt mal auf das eigentliche Problem, die .htaccess hat damit nichts zu tun (da dies die "Annahme"-Stelle ist, nicht die "Ausgabe-Stelle" von links).
Die Ausgabestelle von internen Serendipity-Links befindet sich in der DAtei
include/functions_permalinks.inc.php
Dort gibt es die Funktion
serendipity_archiveURL()
diese erzeugt einen Link zu einem Eintrag und benutzt dafür eine Hilfsfunktion serendipity_rewriteURL(), die den spezifischen Link so umformatiert dass er "hübsch" aussieht.
Diese Funktion benutzt folgendes Codesegment:
Sprich, es fügt die Variable $serendipity['baseURL'] vor den Link, und prüft dann ob $serendipity['rewrite'] einen anderen String als "none" enthält. Wenn es "none" enthält, wird das "index.php?/" davor gehangen, sonst nicht.
$serendipity['rewrite'] wird anhand des Datenbankwertes "rewrite" in der serendipity_config-Tabelle gesetzt. In deinem Fall muss $serendipity['rewrite'] also auf 'rewrite' oder 'errordocs' stehen.
Wenn es aber darauf steht, ist es eigentlich unmöglich, dass ein "index.php?/" davor gehangen wird.
Hast Du mal deine Permalinkkonfiguration geprüft? Nicht dass dort irgendwo ein "index.php?/" eingetragen ist?
Grüße,
Garvin
Also ich verstehe nicht ganz was abläuft. Ich reduziere den Thread jetzt mal auf das eigentliche Problem, die .htaccess hat damit nichts zu tun (da dies die "Annahme"-Stelle ist, nicht die "Ausgabe-Stelle" von links).
Die Ausgabestelle von internen Serendipity-Links befindet sich in der DAtei
include/functions_permalinks.inc.php
Dort gibt es die Funktion
serendipity_archiveURL()
diese erzeugt einen Link zu einem Eintrag und benutzt dafür eine Hilfsfunktion serendipity_rewriteURL(), die den spezifischen Link so umformatiert dass er "hübsch" aussieht.
Diese Funktion benutzt folgendes Codesegment:
Code: Select all
function serendipity_rewriteURL($path, $key='baseURL', $forceNone = false) {
global $serendipity;
return $serendipity[$key] . ($serendipity['rewrite'] == 'none' || ($serendipity['rewrite'] != 'none' && $forceNone) ? $serendipity['indexFile'] . '?/' : '') . $path;
}
$serendipity['rewrite'] wird anhand des Datenbankwertes "rewrite" in der serendipity_config-Tabelle gesetzt. In deinem Fall muss $serendipity['rewrite'] also auf 'rewrite' oder 'errordocs' stehen.
Wenn es aber darauf steht, ist es eigentlich unmöglich, dass ein "index.php?/" davor gehangen wird.
Hast Du mal deine Permalinkkonfiguration geprüft? Nicht dass dort irgendwo ein "index.php?/" eingetragen ist?
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/
# 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/
-
Dragonblast
- Regular
- Posts: 23
- Joined: Thu Jan 11, 2007 3:05 pm
Nochmals besten Dank für deine Mühen !!
Bei den Permalinks ist alles korrekt ( ohne index.php ) eingestellt. Hab ich
nochmals gechecked.
Habe die Funktion mal so umegestellt, dass sie nur noch "statisch" diese
Links erzeugt. Und die funktioniert ohne Problem ( Links werden korrekt angezeigt ).
Nun kann es doch nur noch daran liegen, dass der Wert vom rewrite Feld nicht übergeben wird...
Ich habe die Variable so versucht auszugeben:
echo "----" . $serendipity['rewrite'] . "**";
Und kriege nur ein "----**". Woran könnte das noch liegen ?
Vielen Dank nochmals !
Bei den Permalinks ist alles korrekt ( ohne index.php ) eingestellt. Hab ich
nochmals gechecked.
Habe die Funktion mal so umegestellt, dass sie nur noch "statisch" diese
Links erzeugt. Und die funktioniert ohne Problem ( Links werden korrekt angezeigt ).
Code: Select all
function serendipity_rewriteURL($path, $key='baseURL', $forceNone = false) {
global $serendipity;
return $serendipity[$key] . $path;
}
Ich habe die Variable so versucht auszugeben:
echo "----" . $serendipity['rewrite'] . "**";
Und kriege nur ein "----**". Woran könnte das noch liegen ?
Vielen Dank nochmals !
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Hm, das klingt danach als wäre $serendipity['rewrite'] nicht gesetzt?!
Editier mal deine index.php, und direkt nach dem include 'serendipty_config.inc'.php fügst du ein:
Schau dann mal ob 'Rewrite' dort auftaucht. Ich wüsste nicht wieso 'rewrite' nicht in $serendipity geschrieben werden könnte, aber die anderen werte auch. Nur wenn die spalte 'authorid' in serendipity_config für den wert 'Rewrite' auf einem Wert ungleich 1 stünde, aber laut deinem SQL-Auszug steht das ja (wie erforderlich) auf 0...
Grüße,
Garvin
Hm, das klingt danach als wäre $serendipity['rewrite'] nicht gesetzt?!
Editier mal deine index.php, und direkt nach dem include 'serendipty_config.inc'.php fügst du ein:
Code: Select all
die('<pre>' . print_r($serendipity, true) . '</pre>');
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/
# 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/
-
Dragonblast
- Regular
- Posts: 23
- Joined: Thu Jan 11, 2007 3:05 pm
Ist im Array vorhanden:
Code: Select all
Array
(
[GET] => Array
(
[action] =>
[adminAction] =>
)
[POST] =>
[COOKIE] =>
[templatePath] => templates/
[serendipityPath] => [ZENSUR]
[indexFile] => index.php
[version] => 1.0.3
[defaultTemplate] => carl_contest
[production] => 1
[rewrite] => rewrite
[messagestack] => Array
...