WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Snygga adresser med .htaccess (https://www.wn.se/forum/showthread.php?t=36658)

robinalexandercox 2009-05-06 12:35

Hej. Jag försöker snygga till mina adressfält så att följande händer:

http://tendens.se/dev/index.php?val=Marknadsbrev

ska visas som:

http://tendens.se/dev/Marknadsbrev

Jag har kollat många tutorials och forum men har inte lyckats. Skulle vara väldigt tacksam om någon ville visa mig en kodsnutt som uträttar det jag är ute efter. / Robin.

Jimpsson 2009-05-06 12:40

Citat:


Options +FollowSymlinks
RewriteEngine On
RewriteRule ^dev/([a-z0-9_-]{1,})$ index.php?val=$1

Det ska nog funka :)

robinalexandercox 2009-05-06 12:47

Jag löste det med följande:

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?val=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?val=$1

med den lösningen så är koden oberoende i vilken mapp sidan ligger vilket är bra, men åäö och ÅÄÖ funkar inte. Kan någon visa hur jag får med dessa tecken i ovanstående kod?

tartareandesire 2009-05-06 12:54

Citat:

Originally posted by robinalexandercox@May 6 2009, 12:47
Jag löste det med följande:
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+) index.php?val=1
RewriteRule ^([a-zA-Z0-9_-]+)/ index.php?val=1
med den lösningen så är koden oberoende i vilken mapp sidan ligger vilket är bra, men åäö och ÅÄÖ funkar inte. Kan någon visa hur jag får med dessa tecken i ovanstående kod?

Lägg bara till åäöÅÄÖ i teckenintervallet. Rekommenderar dock inte att du använder dessa i url:er.

robinalexandercox 2009-05-06 13:00

Citat:

Ursprungligen postat av tartareandesire
Citat:

Ursprungligen postat av robinalexandercox
Jag löste det med följande:
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+) index.php?val=1
RewriteRule ^([a-zA-Z0-9_-]+)/ index.php?val=1
med den lösningen så är koden oberoende i vilken mapp sidan ligger vilket är bra, men åäö och ÅÄÖ funkar inte. Kan någon visa hur jag får med dessa tecken i ovanstående kod?

Lägg bara till åäöÅÄÖ i teckenintervallet. Rekommenderar dock inte att du använder dessa i url:er.

Jag testade att lägga in åäöÅÄÖ som du skrev:

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-åäöÅÄÖ]+)$ index.php?val=$1
RewriteRule ^([a-zA-Z0-9_-åäöÅÄÖ]+)/$ index.php?val=$1

men då blev det ett internal server error. Gjorde jag något fel?

robinalexandercox 2009-05-06 13:07

Ahhh... så här fick jag det att funka:

RewriteEngine On
RewriteRule ^([a-zåäöA-ZÅÄÖ0-9_-]+)$ index.php?val=$1
RewriteRule ^([a-zåäöA-ZÅÄÖ0-9_-]+)/$ index.php?val=$1

robinalexandercox 2009-05-06 13:22

Nu till en sista fråga.

Hur gör jag för att även tillåta mellanslag, i t.ex. "Dagens aktietips" i denna kod:

RewriteEngine On
RewriteRule ^([a-zåäöA-ZÅÄÖ0-9_-]+)$ index.php?val=$1
RewriteRule ^([a-zåäöA-ZÅÄÖ0-9_-]+)/$ index.php?val=$1

tartareandesire 2009-05-06 13:29

Citat:

Ursprungligen postat av robinalexandercox
Citat:

Originally posted by -tartareandesire@May 6 2009, 12:54
Citat:

Ursprungligen postat av robinalexandercox
Jag löste det med följande:
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+) index.php?val=1
RewriteRule ^([a-zA-Z0-9_-]+)/ index.php?val=1
med den lösningen så är koden oberoende i vilken mapp sidan ligger vilket är bra, men åäö och ÅÄÖ funkar inte. Kan någon visa hur jag får med dessa tecken i ovanstående kod?

Lägg bara till åäöÅÄÖ i teckenintervallet. Rekommenderar dock inte att du använder dessa i url:er.


Jag testade att lägga in åäöÅÄÖ som du skrev:
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-åäöÅÄÖ]+) index.php?val=1
RewriteRule ^([a-zA-Z0-9_-åäöÅÄÖ]+)/ index.php?val=1
men då blev det ett internal server error. Gjorde jag något fel?

Mjo, skriver du det direkt efter '-' så tolkar den det som ett intervall från föregående tecken.

robinalexandercox 2009-05-06 13:33

Ok, jag har läst att \s är det samma som mellanslag men det blir fel när jag använder der i min kod. Vart ska jag sätta in \s i följande kod för att få det att fungera?

RewriteEngine On
RewriteRule ^([a-zåäöA-ZÅÄÖ0-9_-]+)$ index.php?val=$1
RewriteRule ^([a-zåäöA-ZÅÄÖ0-9_-]+)/$ index.php?val=$1

tartareandesire 2009-05-06 14:01

Citat:

Originally posted by robinalexandercox@May 6 2009, 13:33
Ok, jag har läst att s är det samma som mellanslag men det blir fel när jag använder der i min kod. Vart ska jag sätta in s i följande kod för att få det att fungera?
RewriteEngine On
RewriteRule ^([a-zåäöA-ZÅÄÖ0-9_-]+) index.php?val=1
RewriteRule ^([a-zåäöA-ZÅÄÖ0-9_-]+)/ index.php?val=1

Du sätter det precis som vilket annat tecken som helst. Det motsvarar inte mellanslag utan allt "whitespace", dvs. tabbar, mellanslag och radbrytningar.


Alla tider är GMT +2. Klockan är nu 15:37.

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