![]() |
Hejsan alla...
Skulle vilja ha hjälp med lite mod_rewrite Så här ser det ut nu RewriteRule ^([^/\.]+)/?$ view.php?adr=$1 och RewriteRule ^([^/\.]+)/view/([^/\.]+)/?$ view.php?adr=$1&pageid=$2 Vad jag vill är att ha in två extra argument, som skall funka på båda, eller om man fogar samman de båda Rulesen på något fräckt sätt. De skall funka på följande sätt: mirkk/view/2((.*)/(.*)) -> view.php?adr=$1&pageid=$2&$3=$4 Och det skall som sagt funka på båda... Vet inte hur jag skall förklara riktigt. Hoppas att någon förstår vad jag menar. |
Skall försöka ta det, igen fast bättre
Detta är inga regler, bara så jag vill ha det.. $1[/view/$2][/$3/$4] $1 kommer alltid att falla in. [/view/$2] kommer att falla in någon gång, men behöver inte göra det. [/$3/$4] kommer att falla in någon gång, men behöver inte göra det. Den påverkas inte heller av [/view/$2]. frågesträngarna kan få vara tomma om de behöver vara det. ?adr=$1&pageid=$2&$3=$4 Skulle kunna bli ?adr=mirkk&pageid=&= eller ?adr=mirkk&pageid=2&= eller till och med ?adr=mirkk&pageid=2&hej=tjabba |
Nu har jag hållt på med detta mönstret allt för länge ^^
|
Tänkte jag skulle testa att göra något. Har tyvärr inte apache installerat på burken jag sitter på så jag kan inte testa ifall det fungerar men om det inte fungerar så kanske det kan ge dig några nya tankar. Nu tog jag förgivet att alla variabler kan innehålla vad som helst förrutom /.
RewriteRule ^/([^/]+)(|/view/([^/]+))(|/(^/)/(^/))$ /?adr=$1&pageid=$3&$5=$6 |
Det var bra nära tycker jag..
^/([^/]+)(|/view/([^/]+))(|/(^/)/(^/))$ Sätter inte alla... Testade med, http://regexlib.com/RETester.aspx och av denna listan /lalala/view/12/hej/hej/ /lalala/view/12/hej/hej /lalala/view/12 /lalala/view/12/ /lalala /alala/ /alala/hej/hej/ så matchades endast /lalala/view/12 och /lalala Alltså de utan slash i slutet. Det är ju visserligen inget jättesvårt att ändra. Men /lalala/view/12/hej/hej/ /lalala/view/12/hej/hej och /lalala/hej/hej/ /lalala/hej/hej Ville inte heller träffa matchen. Skall ta och försöka själv igen i någon timma om en stund. Vädrar dock tankarna här så om någon är på att hitta en lösning så säger inte jag nej. |
Var några slarvfel så testa:
^/([^/]+)(|/view/([^/]+))(|/([^/]+)/([^/]+))(|/)$ |
Nu vill den inte matcha nått ^^
Måste ändå tacka för din hjälp :)! |
Om man på den sidan du testar testa en url åt gången så fungerar det. Och se till att du inte får med mellanslaget i slutet.
|
Ja, det har du rätt i...
/lalala/view/2/hej/hej matchar på rätt sätt. Dock så blir endast /lalla/view/2 fel. Den hoppar över att $3 skall innehålla "2" och istället så läggs det värdet på $6 |
Detta verkar fungera:
^/([^/]+)(/view/([^/]+)|)(/([^/]+)/([^/]+)|)(/|)$ |
Underbart!
Tack WizKid! |
WizKid hjälpte mig på msn och han arbetade fram följande regel.
RewriteRule ^([^/\.]+)(/view/([^/]+))?(/([^/]+)/([^/]+))?/?$ /view.php?clanadr=$1&pageid=$3&$5=$6 [L] Vad som inte ville vara med var | efter som att den är operatorn för OR, och då andra värdet var tomt kunde inte apache godkänna regeln. |
Någon som kan rekommendera en bra guide att läsa om man vill lära sig mer om mod rewrite? Vill använda mig av detta till ett nytt projekt och skulle behöva lite kött på benen...
|
Bra sidor att ha till hands:
Bra info Bra för t ex dubbelkoll Bra sida om man vill ha kläm på regexp Dessa kan även vara bra: http://www.sitepoint.com/article/guide-url-rewriting http://www.sitepoint.com/article/search-en...e-friendly-urls http://www.zend.com/zend/spotlight/searchengine.php |
Man tackar, där har man lite att läsa igenom :)
|
Alla tider är GMT +2. Klockan är nu 09:41. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson