WN

WN (https://www.wn.se/forum/index.php)
-   Allmänt (https://www.wn.se/forum/forumdisplay.php?f=2)
-   -   Dölja ful phpändelse (https://www.wn.se/forum/showthread.php?t=13607)

Magnusson 2006-04-17 22:14

Säg att man har en dynamisk hemsida programmerad i php. Då kommer man få en ganska ful php-ändelse på sin URL när folk surfar runt (typ http://www.fest.se/index.php?stad=motala&dag=1&manad=5... ) som även kommer hänga med om folk lägger till den som en bookmark. Nån som har koll på hur man kan göra för att slippa det här? Cloaking?

eg0master 2006-04-17 22:18

För det första är det ingen php-ändelse utan query strängen du pratar om.
mod_rewrite (apache) gör just det du vill göra.

patrikweb 2006-04-17 22:19

Även om du använder mod_rewrite kommer man få en query sträng av något slag, även om man kan få det se bättre ut.

b_andersson 2006-04-17 22:26

Citat:

Originally posted by patrikweb@Apr 17 2006, 21:19
Även om du använder mod_rewrite kommer man få en query sträng av något slag, även om man kan få det se bättre ut.

Jo men http://www.fest.se/motala/05/01/ ser ju lite trevligare ut och är enkelt att ordna, typ något i stil med:
RewriteRule /(.*)/(.*)/(.*)/$ /index.php?stad=$1&dag=$3&manad=$2

//Björn

Magnusson 2006-04-17 22:39

mod_rewrite skulle kunna vara något, men om du har många variabler i query strängen, så är frågan hur mkt snyggare det skulle kunna bli

http://www.fest.se/index.php?stad=mo...aldersgrans=18
vs
http://www.fest.se/motala/05/01/pluto/kalle/schlager/18

patrikweb 2006-04-17 23:05

Smidigast är att försöka sända det som POST istället för GET.

eg0master 2006-04-18 06:59

Citat:

som även kommer hänga med om folk lägger till den som en bookmark
Eftersom han vill att sidan skall gå att bookmarka så kommer han inte undan att ha kvar querysträngen...

nomicon 2006-04-18 09:39

Spara querys i SESSION.

-Martin

HenrikAI 2006-04-18 10:03

Samma problem med SESSION som med POST, de hänger inte med om besökaren lägger till sidan bland sina bokmärken. Så jag föreslår också på GET + mod_rewrite.

Magnusson 2006-04-18 16:24

Wops, jag var nog lite otydlig :) Jag vill inte att querysträngen ska sparas när man bookmarkar sidan. Så post eller session är kan nog funka. Är inte post beroende av att man aktivt måste aktivera en sökning genom att tex trycka på en submit knapp? Saken är den att jag även sparar undran phpvariabler när folk navigerar på sidan. Hur funkar session?

Clarence 2006-04-30 20:58

Att använda någon form av session för det hela skulle innebära att du sparade undan alla variabler kopplat till ett unikt session ID. Att sen spara på den informationen i ett år tills besökaren kommer tillbaka med sitt bokmärke är nog en dålig ide om det inte är väldigt glest med besökare.

POST info sparar ingen browser i ett vanligt bookmark, och är därmed inget jag skulle rekommendera.

Håller med föregående om mod_rewrite och GET. Men vill också ge förslaget att lite variation i URLen ofta gör skillnad i själva utseendet när det är många variabler. T ex fest.se/motala-05-01/pluto_18ar.html jämfört med fest.se/motala/05/01/pluto/18/

guran 2006-04-30 23:38

Att länka runt på en hemsida med POST är inget att rekommendera. Dels så kommer inga sökmotorer att kunna navigera runt på din sida och besökaren kan inte backa tillbaka med bakåtknappen på webbläsaren (går bra på Opera men inte på IE och FF). Du kommer att få en massa arga besökare.

Ett omständigt sätt att göra det du vill är att ge varje alternativ i query-strängen en kod eller löpnummer och lagra variablarna i en tabell. Du skulle således få en url som liknar något i stil med www.dinsida.se/37733. Då går det att bokmärka sidan och när någon accessar sidan slår man upp raden i tabellen med den koden och ser efter vilka värden som ska vara på stad, dag osv.

Surfaren 2006-05-01 02:36

Det må så vara att query-strängen är lite "ful", men den finns ju faktiskt där av en anledning också. Varför vill man inte att folk ska få något annat än startsidan med i sina bokmärken? Onödigt dumt att dölja sådan info för besökaren om man frågar mig...

Danielos 2006-05-01 10:52

Jag kör .htaccess för att köra allt till index.php:

RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [QSA,L]

Sedan splittar jag upp exvis www.domän.se/var1/var2/var3 osv
$urldecode = (preg_split("[/]",$_SERVER[REQUEST_URI],-1,PREG_SPLIT_NO_EMPTY));

Så att det blir:
$var1 = $urldecode[0];
$var2 = $urldecode[1];
$var3 = $urldecode[2];
osv..


Alla tider är GMT +2. Klockan är nu 13:55.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson