Vra

Ek wou .htaccess stel om te herskryf:

example.com/bla/info/

na

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

example.com/bla/info/txt/

na

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

Ek wou die leser nog vertoning:

example.com/bla/info/txt/

Ek wou nie te herskryf in die vlak 2 herskryf, soos:

example.com/bla/xxx/ 

of

example.com/ccc/zzz/aaa/

maar

example.com/silly/info/ 

sou so goed werk as

example.com/strange/info/mytxt/

Het hierdie sin?

Enige hulp?

Was dit nuttig?

Oplossing

As jy jou patroon begin met ^ en eindig dit met $, die reël is slegs van toepassing indien die hele string wedstryde.

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

As jy gebruik maak nie gebruik van die opsie [R], die bedrag wat in die leser URL sal wees ongeag die gebruiker aangegaan.

Is jy probeer om hierdie algemene-doel te maak? Indien wel, kan jy regex-tipe opname en veranderlike vervanging gebruik. Maak 'bla "match any string tot die volgende streep (/), gebruik

([^/]+)

in jou patroon en verwys dit met $ 1 in jou vervanging.

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

Ek beveel die Apache web bladsye oor mod_rewrite vir meer inligting .

[wysig. Vaste die reëls te sluit nie die naam gasheer in die patroon, as die oorspronklike plakkaat uitgepluis het.]

-
BMB

Ander wenke

jy het my in die regte pad.

Ek het uiteindelik met iets soos hierdie:

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

Thanks a lot

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top