2012-03-25 17 views
0

Ich versuche, eine Htaccess Rewrite-Regel zu schreiben. Aber es wird nicht umgeleitet,htaccess funktioniert nicht

Dies ist meine jetzige Regel

RewriteEngine On 
RewriteRule ^([a-zA-Z0-9]+)$ question.php?qkey=$1 

, die eine URL wie Site-Name/questionkey zeigen und leitet es perfekt.

Jetzt Iam versuchen, eine URL wie Site-Name zum Anzeigen/questioncatagory/questiontititle

Iam versuchen, die folgende Regel zu verwenden, aber es funktioniert nicht

RewriteEngine On 
RewriteRule ^([a-zA-Z0-9]+)/^([a-zA-Z0-9]+)/^([a-zA-Z0-9]+)$ question.php?qkey=$1 

Antwort

0

Erstens, es ist wahrscheinlich besser für Klarheit und Wartung Ersetzen Sie Ihre ([a-zA-Z0-9]) durch ([\ w] +)

Zweitens funktioniert Ihre neue Regel nicht wegen der Caret^-Zeichen. Am Anfang zeigt es "Übereinstimmungsanfang der Zeile" an, was in der Regex sicher nicht dreimal insgesamt gilt. Entferne die beiden späteren^Carets (und nutze dann deine zusätzlichen gefangenen Gruppen irgendwo mit $ 1, $ 2, usw.).

Schließlich müssen Sie wahrscheinlich nicht das Ende der Zeile mit dem Zeichen $ übereinstimmen. Das ist für viele URLs unfreundlich, beispielsweise solche mit einem Schrägstrich.

RewriteEngine On 
RewriteRule ^([\w]+)/([\w]+)/([\w]+) question.php?qkey=$1&cat=$2&qtitle=$3 
+0

Iam wirklich jetzt confuced. Könnten Sie es klarstellen, indem Sie die Regel hier schreiben ... –

+0

Ich habe die angepasste Zeile zu meiner Antwort hinzugefügt, aber es erfordert immer noch Ihre eigene Implementierung von $ 2 und $ 3 (der Frage/Kategorie/Frage_Titel) Teil Ihrer URL. – hexparrot

+0

Danke, dass es funktioniert :) .. Gibt es eine Chance, den Frage-Schlüssel in der URL zu verstecken. Ich möchte die URL als Sitename/Questioncatagory/Fragestititle anzeigen. –

Verwandte Themen