[HTML] Met mod_rewrite gemaakte urls worden te lang*

Pagina: 1
Acties:

  • imp4ct
  • Registratie: November 2003
  • Laatst online: 29-10 10:59
Vermits het nu toch wel in is met deze techniek te werken heb ik er mij ook eens achter gezet om het te leren gebruiken. Nu zou ik graag een soort mod_rewrite maken volgens het systeem dat ze hier bij tweakers gebruiken.

'k Heb nu iets "klein" eenvoudig gemaakt om te beginnen testen en ook een beetje te leren hoe het juist allemaal in elkaar zit. 'k Ben ook al naar het Mod_Rewrite forum geweest en heb het toch bijna volledig doorlezen, maar toch lijkt het me niet echt te lukken.

Code die'k nu gebruik in .htaccess

PHP:
1
2
3
RewriteEngine On 

RewriteRule ^button/(.*)/(.*) index.php?button=$1&page_id=$2


code in HTML
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
if($_GET['button'] == "pagina")
{
  $text = "u bevind zich nu op pagina ". $_GET['page_id'];
}


//de HTML code
<tr>
  <td>
  <ul>
    <li><a href="button/pagina/1">pagina 1</a></li>
    <li><a href="button/pagina/2">pagina 2</a></li>
    <li><a href="button/pagina/3">pagina 3</a></li>
    <li><a href="button/pagina/4">pagina 4</a></li>
    <li><a href="button/pagina/5">pagina 5</a></li>
  </ul>
  </td>
</tr>
<tr>
  <td><? echo $text ?></td>
</tr>


URL : http://www.telenethulp.net

Nu wat het probleem is merk je snel als je een paar keer op de link hebt geklikt die er op de site staat, de URL wordt eigenlijk steeds maar langer, en dat is wat nu juist het probleem is, 'k weet niet hoe'k dit moet oplossen. Voor de rest lijkt het wel te werken.

[ Voor 15% gewijzigd door imp4ct op 03-11-2006 17:17 ]

Bedrijf : Webtrix

Foto materiaal:
Nikon D7100 | Nikor AF-S DX 18-105mm | Nikor AF-S 50mm | Nikon SB600


  • Frash
  • Registratie: Mei 2002
  • Laatst online: 20:28
Je kunt een absoluut pad gebruiken bij de link, bijv. http://server/button/klik/id. Als dit te veel werk is, volstaat een base href ook. base href wordt veel gebruikt bij "friendly URLs" voor o.a. forum software.

code:
1
<base href="http://websiteurl/">


Let op: alle links en plaatjes zijn relatief aan de base href value als deze gebruikt wordt. Het is dus een soort prefix.

  • imp4ct
  • Registratie: November 2003
  • Laatst online: 29-10 10:59
Lost het niet echt op en 'k snap ook niet goed wat je bedoeld met die "base". Kan je misschien een beter voorbeeld geven ?

Bedrijf : Webtrix

Foto materiaal:
Nikon D7100 | Nikor AF-S DX 18-105mm | Nikor AF-S 50mm | Nikon SB600


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Wat let je om het op te zoeken? :)

Verder horen mod_rewrite problemen niet hier maar in Windows Servers en Server-software, zoals je in Waar hoort mijn topic? kan lezen. Echter is dit geen probleem met mod_rewrite, maar met de manier waarop je je HTML maakt. Je topic hoort dus in Webdesign, Markup & Clientside Scripting.

DTE>>WEB

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Frash
  • Registratie: Mei 2002
  • Laatst online: 20:28
Het type link wat je nu gebruikt voegt steeds iets toe aan de huidige URL. Dit is een relatieve link.
Om dit te voorkomen, moet je een volledige (absolute) link gebruiken zodat hij dat niet doet. Zo'n link begint met http en dan het volledige pad.

Met base href kun je de "huidige pagina URL" overrulen. Dat wil zeggen dat de link verwijst naar http://urlvanwebsite/pagina/1 ipv. /pagina/1/pagina/2. Infeite "lock" je dus het "voorzetsel" van de relatieve link.

Zie ook W3schools.