Short URLs für phpBB2

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
larsneo
Mitglied
Beiträge: 2622
Registriert: 07.03.2002 15:23
Wohnort: schwäbisch gmünd
Kontaktdaten:

Beitrag von larsneo »

das ist auf jeden fall schon einmal die erste hälfte ;-)
die umsetzung der short urls ist ja zweigeteilt - zum einen die .htaccess damit der server auch bei anfrage nach 'kurzen' urls die korrekten 'langen' urls ausliefert und zum anderen die function replace_for_mod_rewrite() damit die 'langen' urls während der anzeige im browser in 'kurze' urls umgeschrieben werden.

falls man nun also die .htaccess entsprechend anpasst, kann man zwar die seiten auch über die kurzen urls aufrufen, innerhalb des forums erfolgt aber noch keine wandlung. dazu muss die o.a. funktion in /includes/page_header.php auch erweitert werden.

für das album setze ich beim nuforum folgende snippets ein (ich benutze allerdings auch nur private alben):
.htaccess:

Code: Alles auswählen

RewriteCond %{REQUEST_FILENAME} /nuforum/album.html 
RewriteRule (.*) /nuforum/album.php [L]

RewriteCond %{REQUEST_FILENAME} /nuforum/palbum.html 
RewriteRule (.*) /nuforum/album_personal_index.php [L]

RewriteCond %{REQUEST_FILENAME} /nuforum/palbum([0-9]*).html 
RewriteRule (.*) /nuforum/album_personal.php?user_id=%1 [L]
/includes/page_header.php / bereich $urlin

Code: Alles auswählen

$prefix . '(?<!/)album.php"|', 
$prefix . '(?<!/)album_personal_index.php"|', 
$prefix . '(?<!/)album_personal.php\?user_id=([0-9]*)"|', 
); 
bzw. im bereich $urlout

Code: Alles auswählen

'"album.html"', 
'"palbum.html"', 
'"palbum\\1.html"', 
); 
gruesse aus dem wilden sueden
larsneo
..::[krapohl.net]::..
X-Box
Mitglied
Beiträge: 128
Registriert: 06.04.2004 22:53
Wohnort: Hamburg
Kontaktdaten:

Beitrag von X-Box »

@ larsneo:

Eine umwandlung der URL ohne .htaccess ist nicht möglich, oder? Mein Hoster läßt kein mod_rewrite via .htaccess zu. Hoster ist übrigens Evanzo. (Für die Install-Anleitung am Anfang könnte man dann aufnehmen das der Mod nicht bei Evanzo funktioniert!)

Gruß
Benutzeravatar
larsneo
Mitglied
Beiträge: 2622
Registriert: 07.03.2002 15:23
Wohnort: schwäbisch gmünd
Kontaktdaten:

Beitrag von larsneo »

Mein Hoster läßt kein mod_rewrite via .htaccess zu.
wenn nicht über .htaccess - wie lässt er denn mod_rewrite dann zu?
prinzipiell muss eine möglichkeit gegeben sein, url-rewriting serverseitig auszuführen - ansonsten kann der webserver ja mit den kurzen urls schlichtweg nichts anfangen und quittiert nur mit einer 404 seite...
gruesse aus dem wilden sueden
larsneo
..::[krapohl.net]::..
X-Box
Mitglied
Beiträge: 128
Registriert: 06.04.2004 22:53
Wohnort: Hamburg
Kontaktdaten:

Beitrag von X-Box »

Das ist ja das. Die Short URL wurde in der Adressleiste angezeigt. Aber ein direktes anwählen der forums.html (z.B.) war nicht möglich. Die .htaccess hat aber auch keinen Fehler verursacht. Nur bei einen klick auf einen Thread im Forum kam eine 404 Seite.
Hab jetzt erstmal alles wieder runtergenommen.

Evanzo meinte das mod_rewrite via .htaccess nicht zugelassen wird. Einen anderen Weg haben sie mir nicht genannt.

phpinfo() sagt aber das mod_rewrite auf dem Server ist.

Loaded Modules:

mod_php4, mod_setenvif, mod_unique_id, mod_usertrack, mod_headers, mod_expires, mod_cern_meta, mod_proxy, mod_digest, mod_auth_db, mod_auth_dbm, mod_auth_anon, mod_auth, mod_access, mod_rewrite, mod_alias, mod_userdir, mod_speling, mod_actions, mod_imap, mod_asis, mod_cgi, mod_dir, mod_autoindex, mod_include, mod_info, mod_status, mod_negotiation, mod_mime, mod_mime_magic, mod_log_referer, mod_log_agent, mod_log_config, mod_define, mod_env, mod_vhost_alias, mod_mmap_static, mod_bandwidth, mod_so, http_core
Benutzeravatar
larsneo
Mitglied
Beiträge: 2622
Registriert: 07.03.2002 15:23
Wohnort: schwäbisch gmünd
Kontaktdaten:

Beitrag von larsneo »

iirc ist bei evanzo nur die authentifizierung via .htaccess zugelassen - selbst wenn die entsprechenden module bereits im webserver eingebunden sind.
gruesse aus dem wilden sueden
larsneo
..::[krapohl.net]::..
X-Box
Mitglied
Beiträge: 128
Registriert: 06.04.2004 22:53
Wohnort: Hamburg
Kontaktdaten:

Beitrag von X-Box »

Also ist es eine Konfigurationssache bei Evanzo. Und wenn die nicht wollen dann wird das nix mit Short URL´s.

Dann kann ich Short URL´s ja vergessen!

Danke!
Benutzeravatar
danysahne333
Mitglied
Beiträge: 363
Registriert: 30.06.2004 00:25
Wohnort: Kolkwitz
Kontaktdaten:

Beitrag von danysahne333 »

larsneo hat geschrieben:das ist auf jeden fall schon einmal die erste hälfte ;-)
die umsetzung der short urls ist ja zweigeteilt - zum einen die .htaccess damit der server auch bei anfrage nach 'kurzen' urls die korrekten 'langen' urls ausliefert und zum anderen die function replace_for_mod_rewrite() damit die 'langen' urls während der anzeige im browser in 'kurze' urls umgeschrieben werden.

falls man nun also die .htaccess entsprechend anpasst, kann man zwar die seiten auch über die kurzen urls aufrufen, innerhalb des forums erfolgt aber noch keine wandlung. dazu muss die o.a. funktion in /includes/page_header.php auch erweitert werden.

für das album setze ich beim nuforum folgende snippets ein (ich benutze allerdings auch nur private alben):
.htaccess:

Code: Alles auswählen

RewriteCond %{REQUEST_FILENAME} /nuforum/album.html 
RewriteRule (.*) /nuforum/album.php [L]

RewriteCond %{REQUEST_FILENAME} /nuforum/palbum.html 
RewriteRule (.*) /nuforum/album_personal_index.php [L]

RewriteCond %{REQUEST_FILENAME} /nuforum/palbum([0-9]*).html 
RewriteRule (.*) /nuforum/album_personal.php?user_id=%1 [L]
/includes/page_header.php / bereich $urlin

Code: Alles auswählen

$prefix . '(?<!/)album.php"|', 
$prefix . '(?<!/)album_personal_index.php"|', 
$prefix . '(?<!/)album_personal.php\?user_id=([0-9]*)"|', 
); 
bzw. im bereich $urlout

Code: Alles auswählen

'"album.html"', 
'"palbum.html"', 
'"palbum\\1.html"', 
); 
danke, funktioniert super. :wink:
öhrm
Mitglied
Beiträge: 1
Registriert: 08.08.2004 01:55

Beitrag von öhrm »

Kann es sein, das .info-doms probs mit dem mod-rwrite haben? ich verwende eine identische .htaccess auf dem gleich space für die gleiche version vom phpbb. beide boards sind immer noch im standard-zustand. bei einem (.de) funzt es, bei dem anderen spuckt er mir "forbidden"-fehler (403) aus.

Folgende .htaccess verwende ich für beide boards.

Code: Alles auswählen

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} /forums.*
RewriteRule (.*) /index.php

RewriteCond %{REQUEST_FILENAME} /viewforum([0-9]*)-([0-9]*)-([0-9]*).* 
RewriteRule (.*) /viewforum.php?f=%1&topicdays=%2&start=%3

RewriteCond %{REQUEST_FILENAME} /forum([0-9]*).*
RewriteRule (.*) /viewforum.php?f=%1

RewriteCond %{REQUEST_FILENAME} /ptopic([0-9]*).*
RewriteRule (.*) /viewtopic.php?t=%1&view=previous

RewriteCond %{REQUEST_FILENAME} /ntopic([0-9]*).*
RewriteRule (.*) /viewtopic.php?t=%1&view=next

RewriteCond %{REQUEST_FILENAME} /ftopic([0-9]*)-([0-9]*)-([a-zA-Z]*)-([0-9]*).*
RewriteRule (.*) /viewtopic.php?t=%1&postdays=%2&postorder=%3&start=%4

RewriteCond %{REQUEST_FILENAME} /ftopic([0-9]*)-([0-9]*).*
RewriteRule (.*) /viewtopic.php?t=%1&start=%2

RewriteCond %{REQUEST_FILENAME} /ftopic([0-9]*).*
RewriteRule (.*) /viewtopic.php?t=%1

RewriteCond %{REQUEST_FILENAME} /ftopic([0-9]*).*
RewriteRule (.*) /viewtopic.php?t=%1&start=%2&postdays=%3&postorder=%4&highlight=%5
Der einzige Unterschied ist, dass das .de-board im unterordner liegt (die pfade habe ich angepasst) und dort läuft es. habe ich nur "/" für das andere board (/wie es sein muss, da es nicht im unterordner liegt) komme ich zu oben genannten fehler.
Benutzeravatar
danysahne333
Mitglied
Beiträge: 363
Registriert: 30.06.2004 00:25
Wohnort: Kolkwitz
Kontaktdaten:

Beitrag von danysahne333 »

mein anbieter schreib heute folgendes in den news:
Confixx v3.x Update / mySQL v4.x Update

Webspace-Verkauf.de führt heute gegen ca. 20.00 Uhr auf allen Kunden-Servern das Update auf Confixx v3.x und mySQL v4.x durch. Hierfür müssen die Server kurzfristig offline geschalten werden. Die Offline-Zeit beträgt maximal 30 Minuten
seit ungefähr 21.15 uhr kann ich mein forum nicht emhr erreichen. es kommt ein 403 error.

mod_rewrite ist laut phpinfo aber geladen.

kann es an diesem update liegen?

dany
Benutzeravatar
Magicfly
Mitglied
Beiträge: 7
Registriert: 11.08.2004 14:08

Kleiner Linkfehler warum? (forum1.html)

Beitrag von Magicfly »

Hallo
und vielen Dank, das Du Dir schnell meine Frage ankuckst.

Anmerkung:

Ich hab meine Seite Google tauglich gemacht. (Noch nicht ganz Hihi)
Folgendes Probem:

Wenn ich das Bord auf mache, kommt alles so wie es soll. Die URL verändert sich nicht. http://homeless-streetsoccer.ch Wenn ich jetzt in das Forum gehe, kommt URL: http://homeless-streetsoccer.ch/forums.html Das klappt auch wunderbar. Jetzt kommt aber das Problem, wenn ich jetzt das Thema hilfe anklicke kommt eine normale Seite "Das ausgewählte Forum existiert nicht." Es existiert aber. Wenn Du das Thema selber"Ist echt hier der fehler" rechts anklickst ist es vorhanden. Url: http://homeless-streetsoccer.ch/viewtopic.php?p=43#43 sollte aber forum1.html sein???

Ich denke es hat was mit .htaccess zu tun.
(Script)

DirectoryIndex index.html index.htm portal.php index.php

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} /forums.*
RewriteRule (.*) /index.php

RewriteCond %{REQUEST_FILENAME} /viewforum([0-9]*)-([0-9]*)-([0-9]*).* //bis hier sollte alles richtig sein?
RewriteRule (.*) /viewforum.php?f=%1&topicdays=%2&start=%3

RewriteCond %{REQUEST_FILENAME} /forum([0-9]*).*
RewriteRule (.*) /viewforum.php?f=%1

RewriteCond %{REQUEST_FILENAME} /ptopic([0-9]*).*
RewriteRule (.*) /viewtopic.php?t=%1&view=previous

RewriteCond %{REQUEST_FILENAME} /ntopic([0-9]*).*
RewriteRule (.*) /viewtopic.php?t=%1&view=next

RewriteCond %{REQUEST_FILENAME} /ftopic([0-9]*)-([0-9]*)-([a-zA-Z]*)-([0-9]*).*
RewriteRule (.*) /viewtopic.php?t=%1&postdays=%2&postorder=%3&start=%4

RewriteCond %{REQUEST_FILENAME} /ftopic([0-9]*)-([0-9]*).*
RewriteRule (.*) /viewtopic.php?t=%1&start=%2

RewriteCond %{REQUEST_FILENAME} /ftopic([0-9]*).*
RewriteRule (.*) /viewtopic.php?t=%1

RewriteCond %{REQUEST_FILENAME} /ftopic([0-9]*).*
RewriteRule (.*) /viewtopic.php?t=%1&start=%2&postdays=%3&postorder=%4&highlight=%5


Ich sehe 2 möglichkeiten wo der fehler sein könnte:

1) DirectoryIndex index.html index.htm portal.php index.php
So start das forum im .html mod ist das der fehler?

2) Oder die Zeilen viewtopic.php?t= , da bei der originalen url: viewtopic.php?p


Vielen dank für Eure Gedanken.

MFG Bart
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“