2016-12-04 5 views
1

Ich versucheRewriteRule scheint nicht zu funktionieren

/blog/2016-10-02-my-post 

zu

/blog/post.php?s=2016-10-02-my-post 

Mit ModRewrite in .htaccess neu zu schreiben. Ich habe mehrere Varianten des folgenden versucht, aber nur halten 404 wird immer:

RewriteRule ^blog/([a-zA-Z0-9-/]+)$ /blog/post.php?s=$1 [L]s 

ModRewrite arbeiten, weil ich arbeiten einige sehr einfache Prüfregeln haben. Was mache ich falsch mit dem oben genannten?

+0

ich bearbeiten Ihren Beitrag, weil Sie neu schreiben '/ Blog/2016.10.02-my-Post' zu' /blog/post.php?s=2016-10-02-my -post' und nicht umgekehrt. – cherouvim

Antwort

0

Die [L]s gibt: RewriteRule: bad flag delimiters.

Außerdem muss die Regel mit ^/ beginnen. So funktioniert das:

RewriteRule ^/blog/([a-zA-Z0-9-/]+)$ /blog/post.php?s=$1 [L] 
+0

Diese Regel wird ** nie ** übereinstimmen, da sie mit '^ /' beginnt. Die in RewriteRule getestete URL wurde von führenden Schrägstrichen bereinigt. Das Umschreiben des OPs ist korrekt, außer für das Flag. – Gerrit0

+0

Sie haben Recht. Ich habe den '.htaccess' Teil verpasst (ich habe es in einem' VirtualHost' getestet). – cherouvim

Verwandte Themen