login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Htaccess, 1ste woord eruit. (Opgelost)

Offline Chupskie - 16/10/2008 10:27
Avatar van ChupskieMySQL beginner Ik zit met het volgende probleem. Ik gebruik deze code:
  1. RewriteRule ^nl/(.*)/(.*)/ index2.php?pagina=$2&cat=$1 [L]
  2. RewriteRule ^woord/(.*)/(.*) index2.php?pagina=$2&cat=$1 [L]

Zoals ik nu de htaccess heb gemaakt, ben ik verplicht er een woord voor te zetten, in dit geval 'woord'.

Dit heeft heel lang goed gewerkt, maar nu ik met meerdere talen wil werken, moet er toch ook een andere oplossing voor zijn?

10 antwoorden

Gesponsorde links
Offline Kr4nKz1n - 16/10/2008 10:35
Avatar van Kr4nKz1n Onbekend En waarvoor moet een oplossing zijn?

We missen een deel van je probleem, ik denk dat je probleem is dat je i.p.v. woord ook word of Wort of mot wilt gebruiken?
Offline Chupskie - 16/10/2008 10:44
Avatar van Chupskie MySQL beginner Sorry beetje onduidelijk inderdaad.

Nu zijn mijn linken zo: www.test.nl/nl/de_naam_van_de_pagina/13

NL, staat hier als vaste variable in. Dit heeft heel lang gewerkt, maar stel dat ik nu bijvoorbeeld engels wil, dan moet ik heel mijn htaccess aanpassen, om dit te bereiken: www.test.nl/en/the_name_of_the_page/13

Aangezien nl vast staat in mijn htacces: RewriteRule ^nl/(.*)/(.*)

Graag zou ik dat zo iets zien? RewriteRule ^(.*)/(.*)/(.*)/
zodat de eerste var, niet vast is, maar gewoon variable.

Iets duidelijker? En kan dit?
Offline Kr4nKz1n - 16/10/2008 10:50
Avatar van Kr4nKz1n Onbekend Jawel 

Jij geeft zelf al aan van graag zou ik dat zo iets zien (niet echt NL maar ja).

  1. RewriteRule ^(.*)/(.*)/(.*)/ index2.php?pagina=$3&cat=$2 [L]
Offline Chupskie - 16/10/2008 11:19 (laatste wijziging 16/10/2008 11:19)
Avatar van Chupskie MySQL beginner Ja inderdaad, hij gaf eerst een 404, maar nu doet hij het wel:
  1. RewriteRule ^(.*)/(.*)/(.*)/ index2.php?pagina=$3&cat=$2&taal=$1 [L]
  2. RewriteRule ^(.*)/(.*)/(.*) index2.php?pagina=$3&cat=$2&taal=$1 [L]
Nu werkt dit dus: nl/tekst_pagina/14 | en/text_page/14

Maar de style(css) en de images doet het nu niet meer.

Terwijl als ik hem terug verander naar:
  1. RewriteRule ^nl/(.*)/(.*)/ index2.php?pagina=$3&cat=$2&taal=$1 [L]
  2. RewriteRule ^nl/(.*)/(.*) index2.php?pagina=$3&cat=$2&taal=$1 [L]

Dan doet hij het wel gewoon.

Terwijl: <base href="http://localhost/" /> toch goed staat?
Offline Kr4nKz1n - 16/10/2008 11:23
Avatar van Kr4nKz1n Onbekend stylesheets en images moet je linken vanaf / (begin dus)
Offline Chupskie - 16/10/2008 11:28
Avatar van Chupskie MySQL beginner Staan ze allemaal, anders had het met die andere oplossing trouwens ook niet gewerkt.

Daarom dacht ik altijd dat er een woord voor moest staan dus ^nl/ ipv ^(.*) Omdat hij dat op de een of andere manier niet wil?

Nog tips? Doe ik iets verkeerd?
Offline Kr4nKz1n - 16/10/2008 11:34
Avatar van Kr4nKz1n Onbekend Ik snap er niks van, want jij snapt mij niet.

Je moet vanaf de root beginnen met de stylesheet en images aanroepen.

  1. <img src="/images/enzo.jpg" alt="enzo" />
  2.  
  3. <link href="/files/style/default.css" rel="stylesheet" type="text/css" />


URL?
Offline Chupskie - 16/10/2008 11:39
Avatar van Chupskie MySQL beginner Haha, alle images en stylesheets staan al zo /style/style.css

Url, kan niet draait nog in test fase / lokaal.

Als ik gewoon een image open via de browser dus http://localhost/map/images/plaatje.jpg

Dan geeft hij aan dat deze pagina niet bestaat. Hij herkent dus sinds die mod rewrite aanpassingen, alle images en styles als pagina's?
Offline Kr4nKz1n - 16/10/2008 11:44
Avatar van Kr4nKz1n Onbekend Ik ben sowieso niet echt een voorstander van ModRewrite 

Snap er namelijk niet veel van, heb zelf alleen de error pagina`s erin staan en Multiviews aangezet.
Offline Chupskie - 16/10/2008 11:50 (laatste wijziging 16/10/2008 12:43)
Avatar van Chupskie MySQL beginner edit:
Probleem zit hem natuurlijk in: RewriteRule ^(.*)/(.*)/(.*)
Nu herkent hij niet meer wat nu een map is en wat een pagina.
Dus bijvoorbeeld de map images wordt nu ook herkend als pagina.

Een van de oplossingen:
Alleen de mogelijkeheden invoeren:
RewriteRule ^(nl|en|de)/(.*)/(.*)

Alleen de niet mogelijkheden opgeven:
RewriteCond %{REQUEST_FILENAME} !^/images
RewriteCond %{REQUEST_FILENAME} !^/styles

Laatste zou moeten werken, maar werkt bij nog niet.
In ieder geval de eerste oplossing is ook goed. 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.201s