Kom ihåg mig?
Home Menu

Menu


Fråga om RewriteRule

Ämnesverktyg Visningsalternativ
Oläst 2006-09-14, 15:53 #1
Dood Dood är inte uppkopplad
Medlem
 
Reg.datum: Jul 2004
Inlägg: 134
Dood Dood är inte uppkopplad
Medlem
 
Reg.datum: Jul 2004
Inlägg: 134
Håller på och "leker" lite med RewriteRule för en server där jag vill att den ska ta det som skicka in efter domännamnet som en variabel till filen index.php enligt:

Besökaren anger adressen:

http://www.aaaaaa.se/1234

detta ska då automatiskt pekas om till

http://www.aaaaaa.se/index.php?id=1234

Helst vill jag att adressen inte ändrar sig utan fortfarande visar

http://www.aaaaaa.se/1234


Någon?

Tack på förhand!
Dood är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-09-14, 16:26 #2
WizKid WizKid är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2004
Inlägg: 618
WizKid WizKid är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2004
Inlägg: 618
Taget direkt hur huvudet så skulle det bli:
RewriteRule ^([\d]+)$ /index.php?id=$1 [L]
WizKid är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-09-14, 16:30 #3
Dood Dood är inte uppkopplad
Medlem
 
Reg.datum: Jul 2004
Inlägg: 134
Dood Dood är inte uppkopplad
Medlem
 
Reg.datum: Jul 2004
Inlägg: 134
Tack för ditt svar, resulterade tyvärr i:
HTTP 404 - File not found
Dood är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-09-14, 19:04 #4
etanders etanders är inte uppkopplad
Medlem
 
Reg.datum: Dec 2004
Inlägg: 160
etanders etanders är inte uppkopplad
Medlem
 
Reg.datum: Dec 2004
Inlägg: 160
Jag är ingen expert, men i min .htaccess (som fungerar...) står det först

Options +FollowSymLinks
RewriteEngine On

och därefter kommer Rewrite-raderna.

Följande har jag inte testkört, men jag skulle formulera regeln som

RewriteRule ^(\d+)$ /index.php?id=$1 [L]
etanders är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-09-14, 19:13 #5
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
Testa [0-9]+ istället för \d+ .. htaccess tar inte perl regexp av nån anledning.
grazzy är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-09-14, 19:40 #6
etanders etanders är inte uppkopplad
Medlem
 
Reg.datum: Dec 2004
Inlägg: 160
etanders etanders är inte uppkopplad
Medlem
 
Reg.datum: Dec 2004
Inlägg: 160
Det måste vara olika i så fall. Min .htaccess innehåller \d
etanders är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-09-14, 19:48 #7
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
Yupp, inte omöjligt att det har ändrats mellan 1.3- och 2.0-serien tex.
grazzy är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-09-29, 11:56 #8
Dood Dood är inte uppkopplad
Medlem
 
Reg.datum: Jul 2004
Inlägg: 134
Dood Dood är inte uppkopplad
Medlem
 
Reg.datum: Jul 2004
Inlägg: 134
Hmmm... Jag får det ändå inte att fungera.
Det verkar som om rewrite-regeln också appliceras de gånger jag endast går in på domännamnet (utan index.php eller annat efter domännamnet). Detta gör att den loopar och hänger sig.

Jag vill ju endast att rewrite-regeln ska träda i kraft om man anger något efter domännamnet och det inte är en php-fil som finns. Bör jag istället göra en lösning på att fånga upp 404 till en fil och läsa av URL'en och skicka detta till index.php?

Någon som använder sig av 404'an på detta sätt? Är det att rekommendera eller ej?
Dood är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-09-29, 13:14 #9
kers kers är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Nov 2004
Inlägg: 526
kers kers är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Nov 2004
Inlägg: 526
Citat:
Originally posted by Dood@Sep 29 2006, 11:56

Jag vill ju endast att rewrite-regeln ska träda i kraft om man anger något efter domännamnet och det inte är en php-fil som finns.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

är vad du behöver

Citat:

Bör jag istället göra en lösning på att fånga upp 404 till en fil och läsa av URLen och skicka detta till index.php?
Någon som använder sig av 404an på detta sätt? Är det att rekommendera eller ej?
om du vill fånga upp besökarna och sökmotorer på det sättet så är det värt att komma ihåg att webbservern isf skickar ut 404-headers vilket leder till att sökmotorn kommer att stanna där.
kers är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-10-02, 22:19 #10
phict phict är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2004
Inlägg: 36
phict phict är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2004
Inlägg: 36
Jag använder:
RewriteEngine On
RewriteRule ^(.*)\/$ index.php?$1

och sen parserar requesten i php via $_SERVER-variablerna som sätts.
phict är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 23:46.

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