Mod Rewrite Probleem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Davy Jansen

Davy Jansen

13/05/2007 11:35:00
Quote Anchor link
Hallo allemaal,
Ik was aan het proberen, mijn urls 'vriendelijk' te maken, met mod rewrite. Ik kom er alleen niet meer uit, ik zie niet wat ik fout doe.

Dit is wat ik heb:
.htaccess (staat in de root)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^test/(.*)/ditdan/(.*)/ index.php?test=$1&ditdan=$2
RewriteRule ^test/(.*)/ index.php?test=$1


test code index.php (test opstelling)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
 if(isset($_GET['test']) && $_GET['test'] == "1"){
  echo "1 werkt<br>";

   if(isset($_GET['ditdan']) && $_GET['ditdan'] == "5"){
    echo "2 werkt<br>";
   }

 }
else{
  echo "<br>Geen Mod rewrite<br>";
  echo "- <a href=index.php?test=1>Link test 1</a><br>";
  echo "- <a href=index.php?test=1&ditdan=5>Link test 2</a><br>";
  echo "<br>Wel Mod rewrite <br>";
  echo "- <a href=/vriendelijkeurls/index/1/>Link test 1</a><br>";
  echo "- <a href=/vriendelijkeurls/index/1/5/>Link test 2</a><br>";
 }

?>


Wat moet het worden:
dit: index.php?test=1&ditdan=5 moet
dit: index/1/5/ of index/test/1/ditdan/5/worden

Wat er fout gaat:
Hij komt niet uit bij "1 werkt" of bij "2 werkt". Hij komt dus niet bij de if.
De link is dus niet goed ofzo?

Ik hoop dat iemand ziet wat ik fout doe.
(Het complete domein is: www.sitenaam.nl/vriendelijkurls/index.php)

Alvast bedankt,
Gewijzigd op 01/01/1970 01:00:00 door Davy Jansen
 
PHP hulp

PHP hulp

03/02/2023 15:30:10
 
Happy2day

Happy2day

13/05/2007 12:19:00
Quote Anchor link
Zet achter je regel [L]
dus:
RewriteRule ^test/(.*)/ditdan/(.*)/ index.php?test=$1&ditdan=$2 [L]
RewriteRule ^test/(.*)/ index.php?test=$1 [L]
 
Davy Jansen

Davy Jansen

13/05/2007 13:03:00
Quote Anchor link
Nee, geeft geen verschil?
 
Davy Jansen

Davy Jansen

15/05/2007 16:16:00
Quote Anchor link
*Bump*

edit: ik heb hem nu uit de submap gehaald. En nu heb ik deze code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^/index/(.*)/(.*)/ vriendelijk.php?test=$1&ditdan=$2 [L]
RewriteRule ^/index/(.*)/ vriendelijk.php?test=$1 [L]


En als ik nu op een link klik, dan gaat hij ook echt naar de index toe, ipv naar vriendelijk.php ??
Gewijzigd op 01/01/1970 01:00:00 door Davy Jansen
 
Danny Roelofs

Danny Roelofs

15/05/2007 16:31:00
Quote Anchor link
Nou ik ben ook in mod_rewrite geen guru, toevallig vandaag zelf dingen lopen uit te zoeken en tot nu toe heb ik dit werkend:

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^secure/(.+)/(.+) index.php?option=$1&cmd=$2
RewriteRule ^pictures/(.+) images/$1


Dat houd in dat dan mijn links naar de index.php er zo uit zien:

http://www.website.nl/secure/1/1

en de htaccess bestand staat dan ook in de root van de website

En voor de plaatjes heb ik dan:

http://www.website.nl/pictures/plaatje.jpg

en de plaatjes staat in de root/images/


Maar ik had ook graag dit willen doen:

RewriteRule ^secure/(.+)/(.+) index.php?option=$1
RewriteRule ^secure/(.+)/(.+) index.php?option=$1&cmd=$2
RewriteRule ^pictures/(.+) images/$1

Zodat ik naargelang de aantal optie's voor de php script de juiste vorm zou aanroepen. Dit werkt wel maar dan krijg ik de ellende van als ik op deze link zou klikken:

http://www.website.nl/secure/1/1

wordt dan:

http://www.website.nl/secure/1/1/1

enzovoorts

http://www.website.nl/secure/1/1/1/1

En wat ik daar ook aan probeer te sleutelen met een base rewrite of andere methode's dan lukt het niet. Maar goed ook geen groot probleem natuurlijk gezien ik kan leven met éen vorm om de index.php aan te roepen.


Wellicht heb je hier wat aan maar ik ben ook pas voor het eerst er mee begonnen en daarmee ben ik dus niet de verkozen persoon c.q guru.
 
Davy Jansen

Davy Jansen

15/05/2007 16:52:00
Quote Anchor link
Ja ik ben nu ook weer een stuk verder:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(.*)/(.*)/ vriendelijk.php?test=$1&ditdan=$2 [L]
RewriteRule ^(.*)/ vriendelijk.php?test=$1 [L]


en de link is nu: www.sitenaam.nl/index/1/

bestand.php
<a href=/index/1/>Link test 1</a>

en dat werkt ook :)
Alleen de $_GET werkt nu nog niet?
 
Danny Roelofs

Danny Roelofs

15/05/2007 17:05:00
Quote Anchor link
Nou op zich bij mij wel, maar ik weet niet zo alle in & outs van de consequenties met een RewriteEngine en of het daar mee te maken zou hebben (ga ik niet vanuit) maar probeer eens dit in je script te hebben:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<form action="" method="get"><textarea name='vak'>test</textarea><input name="invoer" type="submit" /></form>

<?php
var_dump($_GET);
?>


Als dit werkt dan werkt $_GET en is de fout ergens elders te zoeken.
Gewijzigd op 01/01/1970 01:00:00 door Danny Roelofs
 
Davy Jansen

Davy Jansen

15/05/2007 17:14:00
Quote Anchor link
Het werkt al:)

Dit stond in mijn eerste $_GET: index.php/1 ipv: 1
en ik controleerde alleen ff op if(isset($_GET['test']) && $_GET['test'] == "1"){

en niet op: index.php/1/, maar het werkt nu wel helemaal :)
Ik begin het nu langsaam ook een beetje door te krijgen.

Bedankt voor je (jullie) hulp ;)

Wat zijn jou problemen dan??
Gewijzigd op 01/01/1970 01:00:00 door Davy Jansen
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.