Kom ihåg mig?
Home Menu

Menu


Hjälp med mod-write/.htaccess!

Ämnesverktyg Visningsalternativ
Oläst 2009-11-05, 16:46 #1
Landos avatar
Lando Lando är inte uppkopplad
Medlem
 
Reg.datum: Nov 2008
Inlägg: 242
Lando Lando är inte uppkopplad
Medlem
Landos avatar
 
Reg.datum: Nov 2008
Inlägg: 242
Question Hjälp med mod-write/.htaccess!

Hej!

Jag skulle vilja ha hjälp med en .htaccess fil.

Det jag vill göra är:

nick.domain.se/12345 (i webbläsaren)

=

domain.se/?nick=nick&id=12345


Tacksam för svar!
Lando är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-11-13, 11:31 #2
Jim_Westergrens avatar
Jim_Westergren Jim_Westergren är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2005
Inlägg: 1 058
Jim_Westergren Jim_Westergren är inte uppkopplad
Har WN som tidsfördriv
Jim_Westergrens avatar
 
Reg.datum: May 2005
Inlägg: 1 058
Först måste du se till att du har så kallad wildcard DNS för subdomänen.

Skapa ett nytt A record med *.domain.se som pekar mot din sajts IP nummer.

Sedan måste du skapa en wildcard ServerAlias i din httpd.conf under VirtualHost.

Ändra:
ServerAlias www.domain.se domain.se

Till:
ServerAlias www.domain.se domain.se *.domain.se

Sedan ändra .htaccess till följande (borde funka, men inte ej testat):

Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !www.domain.se$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).domain.se [NC]
RewriteRule ^([0-9]+)$ ?nick=%2&id=$1 [NC,L]

Kort beskrivning:

Vi ser att förfrågan inte är med www och att subdomänen endast har a-z och 0-9 som vi även fångar i varabeln %2. Både Stora och små bokstäver går bra (flaggan NC).

Sedan kan vi göra en vanlig omskrivning där vi använder %2 och såklart $1. Förfrågan måste börja och sluta med endast siffror.
Jim_Westergren är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-11-16, 18:48 #3
elitassons avatar
elitasson elitasson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Aug 2007
Inlägg: 812
elitasson elitasson är inte uppkopplad
Mycket flitig postare
elitassons avatar
 
Reg.datum: Aug 2007
Inlägg: 812
Jag är ute efter precis detta men får det ej att fungera.

Citat:
Ursprungligen postat av VirtualHost
<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

</VirtualHost>


<VirtualHost fotoblogg.me:80>
DocumentRoot /var/www/fotoblogg.me
ServerName www.fotoblogg.me
ServerAlias www.fotoblogg.me fotoblogg.me *.fotoblogg.me
</VirtualHost>
Citat:
Ursprungligen postat av .htaccess
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !www.domain.se$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).domain.se [NC]
RewriteRule ^([0-9]+)$ ?nick=%2&id=$1 [NC,L]
Citat:
Ursprungligen postat av index.php
<?php

print 'Nick: ' . $_GET['nick'] . '<br />';

print 'ID: ' . $_GET['id'];

?>


http://hejsan.fotoblogg.me/123

Senast redigerad av elitasson den 2009-11-16 klockan 22:18 Anledning: Mer info
elitasson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-11-16, 21:40 #4
Landos avatar
Lando Lando är inte uppkopplad
Medlem
 
Reg.datum: Nov 2008
Inlägg: 242
Lando Lando är inte uppkopplad
Medlem
Landos avatar
 
Reg.datum: Nov 2008
Inlägg: 242
"Skapa ett nytt A record med *.domain.se som pekar mot din sajts IP nummer."

Funkade perfekt för mig. Tack!
Lando är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-11-17, 09:02 #5
Jim_Westergrens avatar
Jim_Westergren Jim_Westergren är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2005
Inlägg: 1 058
Jim_Westergren Jim_Westergren är inte uppkopplad
Har WN som tidsfördriv
Jim_Westergrens avatar
 
Reg.datum: May 2005
Inlägg: 1 058
Bra att det funkade Lando.

elitasson,

Problemet är denna raden:

RewriteRule ^([0-9]+)$ ?nick=%2&id=$1 [NC,L]

Lägg till flaggan R (redirect) så kan du tydligare se vad som händer. Alltså [NC,L,R]

Googla och läs på om mod_rewrite, till exempel min guide för att ändra denna raden.

Kanske detta funkar:

RewriteRule ^([0-9]+)$ index.php?nick=%2&id=$1 [NC,L]

Alternativt kan du ju fånga användarnamnet med hederlig PHP istället med explode(".", $_SERVER["HTTP_HOST"]) och bara använda mod_rewrite för id.

Typ:

RewriteRule ^([0-9]+)$ index.php?id=$1 [NC,L]
Jim_Westergren är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-11-17, 09:05 #6
Jim_Westergrens avatar
Jim_Westergren Jim_Westergren är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2005
Inlägg: 1 058
Jim_Westergren Jim_Westergren är inte uppkopplad
Har WN som tidsfördriv
Jim_Westergrens avatar
 
Reg.datum: May 2005
Inlägg: 1 058
PS: Ni kanske även vill använda er av dessa villkor så att ni inte krockar med existerande filer och mappar:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Jim_Westergren ä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 17:13.

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