2016-08-26 2 views
-1

I Ich habe diese Website mit dieser Struktur: http://example.com/dir/index.php?first=12&second=16. Nun möchte ich diesen Link bearbeiten: http://example.com/dir/12/16.Wie schreibe ich den Link mit ".htaccess", mit 2 Parametern?


Also, ich legte einen .htaccess in http://example.com/dir/; es ist Inhalt:

RewriteEngine On 
RewriteRule ^([0-9]+)$ ?first=(\d+)&second=(\d+) 

ich diese einfache PHP für die Überprüfung verwendet haben, die bei http://example.com/dir/ platziert:

<?php 

/* ... */ 

echo $_GET['first'] . ' - ' . $_GET['second']; 

/* ... */ 

?> 

Als ich nach http://example.com/dir/1/2 gehen, gibt sie: 404. Also, meine .htaccess funktioniert nicht so gut wie ich will.


Was ist los mit meinem .htaccess?

+1

Sie haben nur eine Capture-Gruppe und Ihr Pfad ist 'search.php? Month = 12 & day = 16', nicht alle Nummern. – chris85

+1

Sie haben nur 1 Capture-Gruppe, also wie erhalten Sie 2 Variablen? –

+0

Vielleicht 'search \ .php \? Month = (\ d +) & day = (\ d +)'. Was ist deine Fehlermeldung? – chris85

Antwort

0

Dieses .htaccess in http://example.com/dir/ sein:

RewriteEngine On 
RewriteRule ^([0-9]+)/([0-9]+)/?$ ?first=$1&second=$2 

Es ist einfach.

1

Sie benötigen 2 -Abscheidung gropus für Ihre RewriteRule Muster verwenden oder es wird keine zweite Variable dh $2

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^dir/([0-9]+)/([0-9]+)/?$ /dir/index.php?month=$1&day=$2 [L] 
+0

Nun, Sie könnten meine Antwort akzeptieren, da sie zu Ihrem Problem führt. –

Verwandte Themen