Frage

Ich wollte .htaccess einstellen neu zu schreiben:

example.com/bla/info/

example.com/info/index.php?q=bla

example.com/bla/info/txt/

example.com/info/index.php?q=bla&t=txt

ich den Browser noch Anzeige wollte:

example.com/bla/info/txt/

Ich wollte nicht in der Ebene 2 umschreibt umschreiben, wie:

example.com/bla/xxx/ 

oder

example.com/ccc/zzz/aaa/

und

example.com/silly/info/ 

würde sowie

arbeiten
example.com/strange/info/mytxt/

Hat das Sinn?

Jede Hilfe?

War es hilfreich?

Lösung

Wenn Sie Ihr Muster mit ^ beginnen und es mit $ enden, wird die Regel nur dann, wenn die gesamten Zeichenfolge Streichhölzer anzuwenden.

RewriteRule   ^/bla/info/$      /info/index.php?q=bla
RewriteRule   ^/bla/info/txt/$  /info/index.php?q=bla&t=txt

Wenn Sie nicht die [R] Option verwenden, die URL im Browser angezeigt wird, was der Benutzer eingegeben werden.

Versuchen Sie, diese für allgemeine Zwecke zu machen? Wenn ja, können Sie Regex-Typ passende und Variablensubstitution verwenden. Um ‚bla‘ jeden String bis zum nächsten Slash (/) verwendet

([^/]+)

in Ihrem Muster und verweisen Sie mit $ 1 in Ihrer Substitution.

RewriteRule ^/([^/]+)/info/$          /info/index.php?q=$1
RewriteRule ^/([^/]+)/info/([^/]+)/$  /info/index.php?q=$1&t=$2

Ich empfehle die Apache Web-Seiten über mod_rewrite für weitere Informationen .

[Bearbeiten. die Regeln festgelegt, nicht die Hostnamen in dem Muster enthält, wie das ursprüngliche Plakat herausgefunden.]

-
bmb

Andere Tipps

Sie haben mich in der richtigen Spur.

i mit so etwas wie das endete:

RewriteRule ^([^/\.]+)/info/?$ example/info/index.php?q=$1 [L]

Dank viel

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top