2017-05-09 6 views
1

Gibt es eine Möglichkeit, URLs mit Get-Variablen global anstelle von bestimmten Dateien neu schreiben?Rewrite-Regel für die ID .htaccess

Ändern

http://example.com/{something}?id=1 

An:

http://example.com/{something}/id/1 

Oder ohne das Wort ID:

http://example.com/{something}/1 

Das ist, was ich bisher habe:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^/]+)/$ $1.phtml 
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.phtml 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$ 

Mit diesem konnte ich die .phtml Erweiterung entfernen

Ich hoffe, es gibt eine spezifische Antwort dafür!

+0

Stellen Sie die richtige Frage: Ist es möglich, einen übereinstimmenden Teil des Musters in der Substitution zu verwenden? Die Antwort ist ja, und die Dokumentation erklärt, wie. – CBroe

+0

@CBroe Ich verstehe die Frage nicht und auch nicht die Antwort. Wo ist diese Dokumentation? – joostdelange

+0

Wie kommt es, dass Sie nicht _started_, indem Sie die Dokumentation für die Technologie, die Sie verwenden möchten, überprüfen? http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriterule – CBroe

Antwort

0

ich etwas nehme an, dass eine PHP-Datei zu sein,

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([\w-]+)/id/([\d]+)$ $1.php?id=$2 [L] #with id in between 

oder

RewriteRule ^([\w-]+)/([\d]+)$ $1.php?id=$2 [L] #without id in between 

Sie haben sicher Regeln zu machen, sind nicht widersprüchlich.

+1

Vielen Dank !! Das funktioniert wie ein Zauber. Kennzeichnung als die richtige Antwort. – joostdelange

+0

Ist dies nur mit Zahlen möglich? – joostdelange

+0

'\ d' im Ausdruck erlaubt Nummer nur schon. –