2012-04-05 29 views
0

Ich habe die folgenden Umschreibungs eingerichtet:.htaccess generic Rewrite-Regel

RewriteRule r/(.*) scripts/report.php?cp=1&id=$1 

Es funktioniert großartig mydomain.com/r/123abc umleiten, aber es ist Umleiten alle Seiten auf dem Server, der mit einem „r“ beginnen. Weiß jemand, wie ich das nur für Redirect spezifischer machen kann, wenn die URL mydomain.com/r/ ist? Ich sollte beachten, dass ich diese generische behalten muss, damit ich mydomain.com in der Regel nicht einschließen kann.

Antwort

0

Versuchen Sie, eine ^/ vor Ihre r/(.*) Rewrite-Regel zu setzen. Dies würde es machen:

RewriteRule ^/r/(.*) scripts/report.php?cp=1&id=$1 
+0

Ah perfekt - dank – cronoklee

0

Ich bin mir nicht sicher, ob dies für Sie (nicht getestet) funktioniert, aber probieren Sie es aus:

# Rewrite ini 
RewriteEngine on 
RewriteBase /mydomain.com/ 

# Redirect all /mydomain.com/r/* calls to scripts/report.php 
RewriteRule ^r/(.*)$ scripts/report.php?cp=1&id=$1 [QSA] 

Hoffnung, das hilft.

0

Sie geben sollte, dass die RegEx die gesamte Zeichenfolge übereinstimmen sollte anstatt nur mit der Zeichenfolge übereinstimmen. Sie können dies die ^ und $ Symbolen tun:

RewriteRule ^r/(.*)$ scripts/report.php?cp=1&id=$1