kan dit: www.domein.nl/usernaam

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gebruikersavatar
@ndre
Berichten: 103
Lid geworden op: 24 dec 2002, 00:59
Locatie: Goes

kan dit: www.domein.nl/usernaam

Bericht door @ndre » 27 sep 2004, 19:23

Ik denk niet dat het een phpBb vraagstuk is, maar meer eeen script wat los draait op een server. Geen idee eigenlijk.

Ik wil graag de profielen van alle users toegangkelijk maken met http://www.domeinnaam.nl/usernaam. Dus als ik http://www.phpbb.nl/y0ze intik dat ik dan gelijk in mijn profiel kom waar ik uiteraard later nog wat leuke dingetjes wil toevoegen.

Het is een beetje een CU2 idee, ik weet het, maar het lijkt me een goede verijking van mijn forum.

Kan iemand me helpen? Of eventueel een schop de goede richting opgeven :-)

svenn
Berichten: 5001
Lid geworden op: 14 jul 2004, 13:00
Locatie: Kortrijk
Contacteer:

denk

Bericht door svenn » 27 sep 2004, 19:49

denk dat dat niet echt kan ... het zal in elk geval moeilijk zijn denk ik ...

alvast veel geluk ... :thumb:

MarlyNL
Berichten: 453
Lid geworden op: 06 feb 2004, 22:14
Locatie: Achterhoek
Contacteer:

Bericht door MarlyNL » 28 sep 2004, 08:00

Hallo,
Dat is zeker mogelijk.
Dan moet je op jou server een map met de naam die jij wilt aanmaken.
En dan een pagina maken en opslaan als index.php of wat jij wilt.
Dus ik zou zeggen probeer het maar.

Gebruikersavatar
@ndre
Berichten: 103
Lid geworden op: 24 dec 2002, 00:59
Locatie: Goes

Bericht door @ndre » 28 sep 2004, 10:07

Op die manier kan ik voor 500 users 500 pagina's aanmaken en elke keer als er een nieuw lid komt dat weer doen.

Het is de bedoeling dat dat allemall automatisch gaat.

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 28 sep 2004, 11:49

Het kan inderdaad automatisch, maar gemakkelijk is het niet. Probeer het maar uit te vogelen door te zoeken op htaccess, apache en mod_rewrite.

Henk van de Kamer
Berichten: 49
Lid geworden op: 01 jun 2004, 12:09

Bericht door Henk van de Kamer » 28 sep 2004, 12:04

Hmm, volgens mij kan het gemakkelijker. Want een niet bestaande pagina of directory geeft normaal gesproken een foutmelding. Als je die pagina nu van wat extra intelligentie voorziet, moet dit idee gemakkelijk te realiseren zijn. Toch?

Op mijn website heb ik de 404 pagina vervangen door één die wat extra intelligentie bevat. Daarmee kan ik gemakkelijk wat verhuizingen van pagina's regelen. Op dit moment is dat nog niet nodig geweest, vandaar dat je alleen maar dit ziet:

http://www.hetlab.tk/bestaatniet

Wat je dus nu moet doen is niet meteen mijn standaard melding geven, maar even opzoeken of bestaatniet een gebruiker is in de user database van phpBB. Zo ja, dan doe je een redirect naar de profiel pagina met jhet juiste ID. Zo nee, dan geef je gewoon de standaard melding.

Helaas heb ik geen tijd om dit idee verder uit te werken. Maar volgens mij moet het zo kunnen...
Henk van de Kamer
auteur Het Lab

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 28 sep 2004, 12:31

Iets opzoeken in de DB met htaccess gaat wat lastig, je zou dus een nieuw script moeten maken wat een user_id levert bij een naam, al dan niet ingebouw in usercp_viewprofile. Met een error pagina kan het misschien ook (gebruik makend van bijvoorbeeld $_SERVER['REQUEST_URI']), maar met mod_rewrite werkt dat logischer.

Henk van de Kamer
Berichten: 49
Lid geworden op: 01 jun 2004, 12:09

Bericht door Henk van de Kamer » 28 sep 2004, 13:34

mosymuis schreef:maar met mod_rewrite werkt dat logischer
Wellicht heb ik het helemaal mis, maar volgens mij moet je hiervoor bij de Apache configuratie kunnen? En dat mag je bij veel providers niet. Verder moet je dan 500 rewrite rules maken, één voor elke gebruiker? Of zie ik daar wat over het hoofd?

Persoonlijk zou ik een aangepaste error 404 pagina maken. Maar wie ben ik ;)
Henk van de Kamer
auteur Het Lab

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 28 sep 2004, 14:47

Henk van de Kamer schreef:Wellicht heb ik het helemaal mis, maar volgens mij moet je hiervoor bij de Apache configuratie kunnen? En dat mag je bij veel providers niet.
Nee, je kunt het kwijt in een htaccess bestand.

Henk van de Kamer schreef:Verder moet je dan 500 rewrite rules maken, één voor elke gebruiker? Of zie ik daar wat over het hoofd?
Nee, je kunt met behulp van patronen bepaalde url's laten herschrijven naar een zelf te noemen indeling. Ik ga er zelf nog even mee spelen, zie voor info:
http://httpd.apache.org/docs/mod/mod_rewrite.html

Henk van de Kamer
Berichten: 49
Lid geworden op: 01 jun 2004, 12:09

Bericht door Henk van de Kamer » 28 sep 2004, 15:02

mosymuis schreef:Nee, je kunt met behulp van patronen bepaalde url's laten herschrijven naar een zelf te noemen indeling.
Duidelijk. Alleen geeft dat in geval van bovenstaande idee een mogelijke DoS :) Want stel dat er een directory /forum is. Ik kan me dan al gebruiker forum noemen. Geen idee wwat dan wint, ik denk de rewrite rule?

Beter is dus een schema als http://www.domein.xx/~henk zodat er volgens mij geen conflict optreed, tenzij je user directories volgens ditzelfde schema gebruikt. Toch denk ik dat die rewriterules niet gaan werken. Het schema is tenslotte:

http://www.domein.xx/~henk => http://www.domein.xx/forum/profile.php? ... file&u=nnn

Je moet dus ergens de koppeling henk => nnn vandaan halen. Daarvoor moet je dus weer in de phpBB user database zijn en die is denk ik via de rewriterules niet benaderbaar. Ofwel jij stelt iets als:

http://www.domein.xx/~henk => http://www.domein.xx/forum/user.php?id=henk

voor? Waarin user.php dan de koppeling henk=nnn maakt? Zo ja, dan is denk ik die error 404 pagina net zo gemakkelijk ;)
Henk van de Kamer
auteur Het Lab

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 28 sep 2004, 15:08

Henk van de Kamer schreef:Duidelijk. Alleen geeft dat in geval van bovenstaande idee een mogelijke DoS :)
DoS?? Feit is wel dat véél websites het gebruiken, niet alleen het al aangehaalde voorbeeld van CU2 maar bijvoorbeeld ook het ons aller bekende phpBBhacks. http://www.phpbbhacks.com/download/3617 is achter de schermen: http://www.phpbbhacks.com/viewhack.php?id=3617

Henk van de Kamer schreef:Want stel dat er een directory /forum is. Ik kan me dan al gebruiker forum noemen. Geen idee wwat dan wint, ik denk de rewrite rule?
Voor bestaande mappen moet je inderdaad uizonderingsregels maken, bijvoorbeeld zo:

Code: Selecteer alles

RewriteCond %{REQUEST_URI} !^/forum/*
Niet getest, maar dit is wel het idee.

Henk van de Kamer schreef:Ofwel jij stelt iets als:

http://www.domein.xx/~henk => http://www.domein.xx/forum/user.php?id=henk

voor? Waarin user.php dan de koppeling henk=nnn maakt? Zo ja, dan is denk ik die error 404 pagina net zo gemakkelijk ;)
Dat moet inderdaad, want zoals ik al zei is de koppeling tussen ID en naam nodig. Of je dat nu in een aparte pagina of usercp_viewprofile toevoegt maakt weinig verschil.

Maar toch zie ik nu de vergelijking met de 404 pagina niet echt? Daar zijn ze immers niet voor bedoeld, en de apache rewrite truc wel.

Gebruikersavatar
@ndre
Berichten: 103
Lid geworden op: 24 dec 2002, 00:59
Locatie: Goes

Bericht door @ndre » 28 sep 2004, 15:16

Hm, we komen al een beetje op weg zo!

Ik vrees ook problemen met usernames net als ik, met een @ erin of een !

Ik denk wel dat het aan de database van het forum gekoppeld moet worden.

Mod_rewrite is dus de oplossing. Ik ga vrezen dat mijn php / programeer kunsten hier erg te kort komen.

Discuseren jullie maar verder, hoe duidelijker het voor mij wordt :-)

Henk van de Kamer
Berichten: 49
Lid geworden op: 01 jun 2004, 12:09

Bericht door Henk van de Kamer » 28 sep 2004, 15:32

mosymuis schreef:DoS?? Feit is wel dat véél websites het gebruiken, niet alleen het al aangehaalde voorbeeld van CU2 maar bijvoorbeeld ook het ons aller bekende phpBBhacks.
Een DoS is, zoals je weet, een denial of service door een kwaadwillende. Zoals gezegd, ik vermoed dat de rewriterules als eerste doro Apache verwerkt worden. Normaal gesproken kom je op een forum door iets als http://www.domein.xx/forum/

Stel nu dat ik mij in dit forum als gebruiker forum aanmeld. En dat die rewrite rules werken. In dat geval kan niemand meer bij het forum :)
mosymuis schreef:Voor bestaande mappen moet je inderdaad uizonderingsregels maken, bijvoorbeeld zo:
Exact wat ik bedoel, ik zei het alleen even anders om iedereen te wijzen dat je goed moet nadenken voordat je zoiets implementeerd. Maar wellicht denk ik tegenwoordig teveel na over dit soort dingen :)
mosymuis schreef:Maar toch zie ik nu de vergelijking met de 404 pagina niet echt? Daar zijn ze immers niet voor bedoeld, en de apache rewrite truc wel.
De 404 pagina is bedoeld om je bezoekers op weg te helpen als iets is verhuisd. Ofwel in deze pagina kan je zeer veel intelligentie inbouwen. Ik ken zelfs websites die uit maar één pagina bestaan, namelijk deze :) Vervolgens halen ze uit de URL de informatie om via een database de gewenste info te tonen.

Ofwel een 404 pgina is wel degelijk bedoeld om mensen slim op weg te helpen. Ik zie dus niet in waarom je de intelligentie van koppeling username en ID in die error pagina kan stoppen. Voor jouw idee heb je namelijk nog steeds deze intelligentie nodig plus dan nog eens die rewriterules. Maar zoals gezegd, wie ben ik. Er zijn meerdere wegen die naar Rome leiden ;)
Henk van de Kamer
auteur Het Lab

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 28 sep 2004, 21:31

je moet inderdaad met mod_rewrite gaan werken, maar als je de gebruikersnaam gaat gebruiken als map, klopt de link naar bijvoorbeeld de index pagina niet meer.

je moet een subdomein ofzo moeten aanmaken als je .nl/gebruiker wilt gebruiken, of je moet het forum niet in een map hebben staan en je gebruikt voor de rest geen enkele map op je domein (ook geen plaatjes map!), dan hoef je een hele hoop monder te doen. maar daar gaan we niet van uit dus volg dit.
misschien kan ik het ooit aan de kennisbank toevoegen, dan kan ik wel 2 manieren beschrijven.

in htaccess
RewriteEngine On
RewriteRule ^user/(.*) eventuele_forum_map/profile.php?mode=viewprofile&un=$1
als je forum in een map staat moet je het rode naar de mapnaam wijzigen, anders moet je het rode en de / die erachter staat weghalen.

nu het probleem wat ik net zei nog wegwerken, dat gaat door dit te doen:
kopieer je overall_header.tpl en noem deze view_profile_header.tpl. open het bestand en verander alle links.
als je forum in een map staat, zet dan voor alle links ../MAP_NAAM/. ook als er {U_INDEX} of iets dergelijks staat, overal waar een variabele, dus zonder http://, link wordt gegeven moet je het voor zetten.
als je forum niet in een map staat maar net zoals hier, moet je er alleen ../ voor zetten.
sla het bestand op in de templates/{jouw_template}/ map.
open viewprofile_body.tpl, kopieer het, noem het viewprofile_uname_body.tpl en doe daar hetzelfde.

open nu het bestand includes/page_header.php en zoek deze regel:

Code: Selecteer alles

'overall_header' => ( empty($gen_simple_header) ) ? 'overall_header.tpl' : 'simple_header.tpl')
vervang deze met

Code: Selecteer alles

'overall_header' => ( empty($gen_simple_header) ) ? ( empty($view_profile_header) ? 'overall_header.tpl' : 'view_profile_header.tpl') : 'simple_header.tpl')
open dan includes/usercp_viewprofile.php
zoek

Code: Selecteer alles

if ( empty($HTTP_GET_VARS[POST_USERS_URL]) || $HTTP_GET_VARS[POST_USERS_URL] == ANONYMOUS )
{
	message_die(GENERAL_MESSAGE, $lang['No_user_id_specified']);
}
$profiledata = get_userdata($HTTP_GET_VARS[POST_USERS_URL]);
en vervang dat met

Code: Selecteer alles

if ( empty($HTTP_GET_VARS[POST_USERS_URL]) || $HTTP_GET_VARS[POST_USERS_URL] == ANONYMOUS )
{
    if ( !empty($HTTP_GET_VARS['un']) )
	{
	    $uname = htmlspecialchars($HTTP_GET_VARS['un']);
		$sql = "SELECT user_id 
		    FROM " . USERS_TABLE . "
		    WHERE username = " . $uname . ""
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not get user_id', '', __LINE__, __FILE__, $sql);
		}
		$uid = $db->sql_fetchrow($result)
		$profiledata = get_userdata($uid);
		$view_profile_header = TRUE;
		
		$template->set_filenames(array(
			'body' => 'profile_uname_view_body.tpl')
		);
	}
	else
	{
	    message_die(GENERAL_MESSAGE, $lang['No_user_id_specified']);
	}
}
else
{
    $profiledata = get_userdata($HTTP_GET_VARS[POST_USERS_URL]);
	$template->set_filenames(array(
		'body' => 'profile_view_body.tpl')
	);
}
haal daarna dit weg:

Code: Selecteer alles

$template->set_filenames(array(
	'body' => 'profile_view_body.tpl')
);
nu ben je al een heel eind onderweg, maar voor de mensen die een raar teken in de naam hebben krijgen deze niet in de link naar hun profiel.

open includes/page_header.php nog een keer en ga op zoek naar

Code: Selecteer alles

'PRIVMSG_IMG' => $icon_pm,
zet daarachter

Code: Selecteer alles

'L_UNAME' => urlencode($userdata['username']),
nu nog het bestand overall_header.tpl
zoek

Code: Selecteer alles

{L_LOGIN_LOGOUT}</a>&nbsp;</span></td>
					</tr>
plaats erachter

Code: Selecteer alles

					<tr>
					    <td height="25" align="center" valign="top" nowrap="nowrap"><span class="mainmenu">&nbsp;De naam waarmee je je profiel kunt bereiken is: <b>user/{L_UNAME}</b>&nbsp;</span></td>
					</tr>

nu is alles gereed en moet het werken :wink:
voorbeeld = http://www.esaclan.com/user/Luuk
alleen de plaatjes van email enzo werken niet helemaal, maar dat valt ook nog op te lossen
Afbeelding

Gebruikersavatar
Bas
Berichten: 2741
Lid geworden op: 02 dec 2003, 17:38
Locatie: Omgeving Goslar (Duitsland)
Contacteer:

Bericht door Bas » 29 sep 2004, 07:40

http://www.phpbb.nl/viewtopic.php?t=12752

Dit topic gaat er ook over, met een werkende htaccess oplossing!

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 29 sep 2004, 08:36

ja, maar daar heb je niet net zoals cu2 een "mapnaam" maar een .php bestand :roll:
Afbeelding

Gebruikersavatar
@ndre
Berichten: 103
Lid geworden op: 24 dec 2002, 00:59
Locatie: Goes

Bericht door @ndre » 30 sep 2004, 18:08

Het liefste heb ik het inderdaad zonder .html of .php.

En nog liever /@ndre en niet /userandre.

Even lastig twee topics :-)

Luuk ik kan zo uit je code niet halen of het 100% de mod is die ik wil.

Dus:

- http://www.domeinnaam.nl/usernaam (zonder extensie erachter)
- Dit adres wordt automatisch bij elke usernaam teruggekoppeld naar het juiste profiel, dus niet voor 500 users een map aanmaken en zo.
- bij nieuwe users die zich aanmelden hoef ik niets te doen, die pagina bestaat automatisch bij aanmaken

ja / nee ???

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 30 sep 2004, 18:15

@ndre schreef:- http://www.domeinnaam.nl/usernaam (zonder extensie erachter)
In Luuk's uitleg niet, maar dat kan wel.

@ndre schreef:- Dit adres wordt automatisch bij elke usernaam teruggekoppeld naar het juiste profiel, dus niet voor 500 users een map aanmaken en zo.
- bij nieuwe users die zich aanmelden hoef ik niets te doen, die pagina bestaat automatisch bij aanmaken
Jap.

Gebruikersavatar
@ndre
Berichten: 103
Lid geworden op: 24 dec 2002, 00:59
Locatie: Goes

Bericht door @ndre » 30 sep 2004, 18:45

Ow ja, dat had te maken met het feit dat er een probleem onstaat bij het aanmelden van een user met denaam images bijvoorbveeld, omdat die map al bestaat en de regel dus niet werkt.

Okay, dit is duidelijk.

Misschien een slim idee om dit ls nieuwe mod op dit forum te posten? Ik vermoed dat er redelijk veel belangstelling voor is namelijk.

Nog een vraag trouwens. Als ik nog een domein erbij neem en op die server laat inloggen. Dus: http://www.domeinnaam2.nl/usernaam en die laten dooverwijzen naar het profiel op domein1... Is dat wel mogelijk?


Ik heb een "proef" forum lopen op een server, zal het binnenkort eens proberen. Resultaten zal ik hier posten.

Thanks guys!!!!11

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 30 sep 2004, 18:49

@ndre schreef:Ow ja, dat had te maken met het feit dat er een probleem onstaat bij het aanmelden van een user met denaam images bijvoorbveeld, omdat die map al bestaat en de regel dus niet werkt.
Ik zei al: daarvoor kan je regels opstellen zodat je daar geen last van hebt ;)

@ndre schreef:Nog een vraag trouwens. Als ik nog een domein erbij neem en op die server laat inloggen. Dus: http://www.domeinnaam2.nl/usernaam en die laten dooverwijzen naar het profiel op domein1... Is dat wel mogelijk?
Zou mogelijk moeten zijn.

Gesloten