[.htaccess] Delen van de URL "verbergen"

Pagina: 1
Acties:
  • 156 views sinds 30-01-2008
  • Reageer

  • Blaise
  • Registratie: Juni 2001
  • Niet online
Ik wil mijn URL een beetje opsmukken. Momenteel ziet de .htaccess er zo uit:
code:
1
2
3
4
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^blaat.com$ 
RewriteCond %{REQUEST_URI} ^/page
RewriteRule (.*) /index.php

Ik gebruik de GET methode om informatie uit de url te halen, een url ziet er dan zo uit: http://www.blaat.com/page?contact/xtravariabele.
Terwijl eigelijk dit de "echte" url is: http://www.blaat.com/index.php?contact/xtravariabele.

Variabelen lees ik op deze manier uit de url:
PHP:
1
2
3
4
5
$url=parse_url($REQUEST_URI);
  $path_array = split("/",$url[query]);

    $page = $path_array[0]; // = contact
    $spec1 = $path_array[1]; // = xtravariabele


Dit werkt, maar ik wil graag ? vervangen door /.

Mij leek dat dit wel mogelijk was:
Fake url: http://www.blaat.com/page/contact/xtravariabele
Echte url: http://www.blaat.com/index.php?/contact/xtravariabele

met deze code:
code:
1
2
3
4
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^blaat.com$ 
RewriteCond %{REQUEST_URI} ^/page
RewriteRule (.*) /index.php?
maar dat werkt niet. Ook nog even geprobeerd met RewriteRule (.*) /index.php\? (slash voor ?), maar dat werkt ook niet.

De reden waarom ik zo zit te klooien is dat ik niet bij de Apache config gegevens kan komen om de multiviews aan te zetten. Zie ik iets heel doms over het hoofd, of gaat het gewoon niet lukken op deze manier?

Verwijderd

Dit zou je ook nog kunnen proberen:
code:
1
2
3
<Files page>
    ForceType application/x-httpd-php
</Files>

'page' is dan een php file waarin je bv 'index.php' include.

  • Blaise
  • Registratie: Juni 2001
  • Niet online
EDIT: Tanx, et werkt! _/-\o_
Moet alleen alle paths veranderen van relatief naar absolute ;(

[ Voor 107% gewijzigd door Blaise op 01-05-2003 18:24 ]


  • Bas Jansen
  • Registratie: Juni 2000
  • Laatst online: 16-06 18:29
Je kunt ook Apache Multiviews gebruiken, is dat niet wat handiger?

http://www.blaat.com/index.php?/contact/ = http://www.blaat.com/index/contact/
(waarbij de parameter in $_SERVER['PATH_INFO'] staat)

edit: Laat maar, originele post niet goed gelezen (Multiviews is geen optie)

[ Voor 19% gewijzigd door Bas Jansen op 02-05-2003 12:43 ]