[Apache][php]Multiviews, ook op index zoeken

Pagina: 1
Acties:
  • 38 views sinds 30-01-2008

  • Shagura
  • Registratie: Augustus 2001
  • Laatst online: 27-11 07:10
Beetje vage titel, maar ik weet niks beters :(
Nu ook niet allemaal gaan schreeuwen dat hier al 100 topics over zijn geweest, want daar komt dit probleem soms wel in voor maar wordt nergens opgelost. Ik heb verder wel gezocht, maar weet eigelijk ook niet waarop ik moet zoeken, omdat ik ook helemaal geen aanwijzing heb :(

Nu dan eindelijk het probleem:
Ik heb nu dus ipv
www.site.com/index.php?var1=value1&var2=value2
www.site.com/index/var1/value1/var2/value2 (of www.site.com/index/value1/value2)

Dit is niet zo moeilijk, maar ik wil eigelijk via apache oid www.site.com/value1/value2 hebben, zodat de index niet hoeft worden ingetikt en apache automagisch zoekt op de index files als een opeenvolgende dir niet bestaat. Ik weet bijna zeker dat dit mogelijk moet zijn, ik heb alleen geen idee hoe en ben ook een n00b in Apache.

Misschien kan ik dat makkelijk vinden met een search ofzo en ik heb er ook geen problemen mee als ik wat tutorials moet lezen, maar ik heb helemaal geen flauw idee hoe het voorelkaar te krijgen is en waarop ik moet zoeken! :|

Verwijderd

Achter Options in Apache MultiViews zetten...

  • Shagura
  • Registratie: Augustus 2001
  • Laatst online: 27-11 07:10
Verwijderd schreef op 04 December 2002 @ 16:59:
Achter Options in Apache MultiViews zetten...
:?, Multiviews staat al lang aan...

Ik wil dus ipv
http://www.site.com/file/var1/value1
het volgende:
http://www.site.com/var1/value1

[ Voor 23% gewijzigd door Shagura op 04-12-2002 17:07 ]


Verwijderd

zoek maar es op mod_rewrite,
wedde dat je het dan tegen komt!

Verwijderd

RewriteRule Pattern Substitution [Flag(s)]

RewriteRule is a simple instruction that tells mod_rewrite what to do. The magic is that you can use regular expressions in the Pattern and references in the Substitution strings. What do you think of the following rule?


RewriteRule /products/([0-9]+) /siteengine/products.php?id=$1

Now you can use the following syntax in your URLs:


http://localhost/products/123

After restarting Apache, you'll find this is translated as:

http://localhost/siteengine/products.php?id=123

  • Shagura
  • Registratie: Augustus 2001
  • Laatst online: 27-11 07:10
dank hullie wel O+

  • Tjeerd
  • Registratie: Oktober 1999
  • Laatst online: 21:05

Tjeerd

Be Original, Be Yourself.

Even een flinke schop, maar dit komt neer op precies een probleem wat ik ook heb. Ik heb namelijk een index.php pagina staan in de root, welke kan worden aangeroepen via de browser als:

http://www.site.nl/index/boeken/1/Titel-van-het-boek.html

Mijn .htaccess ziet er zo uit:

code:
1
2
3
4
DirectoryIndex index
<Files index>
ForceType application/x-httpd-php
</Files>


Maar eigenlijk wil ik dat hij ook als volgt kan worden aangeroepen (dus zonder index in de url, maar alle parameters moeten wel via de index.php worden afgehandeld):

http://www.site.nl/boeken/1/Titel-van-het-boek.html

Dit lukt me momenteel niet, zou ik ook met een RewriteRule aan de slag moeten?

[ Voor 6% gewijzigd door Tjeerd op 25-04-2007 13:20 ]

www.tjeerd.net - To repeat what others have said, requires education, to challenge it, requires brains.


  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 08:08
Ja, je kunt daar een rewriterule voor gebruiken. Een simpele htaccess die het voor elkaar maakt ziet er zo uit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
Options +FollowSymlinks

#needed for apache2:
AcceptPathInfo On

# All multiviews uri get passed to /index.php
RewriteEngine on
RewriteBase   /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php/$1

Dit zorgt ervoor dat wanneer een url niet naar een (bestaande) directory of file verwijst, index.php aan de voorkant van het url wordt geplakt:
code:
1
domein.com/foo/bar/quux -> domein.com/index.php/foo/bar/quux

Bedenk wel dat door deze rewrite de 404-afhandeling van apache omzeild wordt. Je zult dus zelf moeten zorgen voor 404-pagina's als er bogus requests worden gedaan.

Regeren is vooruitschuiven


  • Tjeerd
  • Registratie: Oktober 1999
  • Laatst online: 21:05

Tjeerd

Be Original, Be Yourself.

Hartstikke bedankt, het werkte in één keer precies zoals ik gehoopt had.

www.tjeerd.net - To repeat what others have said, requires education, to challenge it, requires brains.


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 30-11 15:10

Creepy

Tactical Espionage Splatterer

Wil je de volgende keer een eigen topic ervoor openen? Om nou een topic van zo'n 5 jaar oud ervoor te kicken is nu ook weer niet nodig. Daarnaast vergeet je te vermelden welke zaken je nu zelf hebt geprobeerd en wat daar niet mee lukte. Alleen een vraag dumpen en melden "het lukt me niet" is niet echt de bedoeling :)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.