Toon posts:

[.htaccess] alles binnen directory redirecten

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil op een site alle url's die opgevraagd worden binnen de directory /pop/ (dus als basis http://mijnsite.com/pop/) laten redirecten naar /pop/index.php (/pop/ dus want index.php wordt automatisch geladen), bijvoorbeeld een adres als http://mijnsite.com/pop/2004/08/post.htm (directory structuur van Blogger).

Ik heb de documentatie van Apache (en wat andere informatie sites) doorgenomen en ben op het volgende uitgekomen:

code:
1
2
RewriteEngine On 
RewriteRule ^/pop/(.+)         /pop/


dit zou voor zover ik weet alles wat na /pop/ komt moeten redirecten naar /pop/ toch? Blijkbaar niet want het werkt niet, alleen weet ik niet waar de fout zit.

  • Mawlana
  • Registratie: Juli 2002
  • Laatst online: 02:04
Volgens mij kom je daarmee in een oneindige loop terecht. Jij stuurt /pop/blaat/ door naar /pop/, maar dat wordt ook weer doorgestuurd naar /pop/ etc... ;)

Ik denk dat je even wat informatie over MultiViews moet zoeken. :)

Verwijderd

Ik denk als je van de plus een ster maakt. Ik denk dat dat een wereld van verschil maakt. Ook heb jij een opener (de ^ ), als je die regel ook sluit is het wel zo netjes. Daarvoor gebruik je een string ( $ ).
code:
1
2
RewriteEngine On
RewriteRule ^pop/(.*)$ /pop/index.php

Ik weet niet of je meer urls wil gaan redirecten op deze manier, dan raad ik aan om er een [L] achter te zetten.
last | L:
Stop the rewriting process here and don't apply any more rewriting rules. This corresponds to the Perl last command or the break command from the C language. Use this flag to prevent the currently rewritten URL from being rewritten further by following rules. For example, use it to rewrite the root-path URL ('/') to a real one, e.g., '/e/www/'.
code:
1
RewriteRule ^pop/(.*)$ /pop/index.php [L]

Als je het helemaal mooi wil hebben en de gegevens die ACHTER de aangevraagde url staan in je php file wil hebben dan kan dat ook. Je verwijst een waarde naar een GET value in php.
code:
1
RewriteRule ^pop/(.*)$ /pop/index.php?variable_name=$1 [L]

Iedere keer dat jij haakjes gebruikt is de $x een hoger, $1 is in dit geval (.*).

[EDIT]
sylvesterrr: niet aan gedacht, slim van je ;)

TS:
Je zal de directory OF de aanroep een andere benaming moetten geven.
code:
1
RewriteRule ^pop/(.*)$ /pop_dir/index.php

[ Voor 30% gewijzigd door Verwijderd op 25-08-2004 01:47 ]