» »

.htaccess rewrite za poddomeno

.htaccess rewrite za poddomeno

alessio2 ::

A mi zna kdo (na hitro) povedat kaj moram napisat v .htaccess, da dobim naslednje:
Imam dve mapi v webfolderju, ki so na spletu vidni kot example.com/xxx ter example.com/yyy,
rad bi pa, da jih lahko obiščem tudi kot xxx.example.com ter yyy.example.com.

Imam apache 2.x na windowsih ter mod_rewrite modul vklopljen.

just_a_cook ::

zakaj pa to ne bi elegantno uredil v virtual hostih?
==================
Just a cook

alessio2 ::

Lahko tudi. Kako pa?

just_a_cook ::

v poddirektoriju extra najdeš fajl httpd-vhosts.conf

potem pa samo zda poddomeno vpišeš (to je samo primer, dodaj sam html oznake kot maš v fajlu v primeru):

VirtualHost *:80
ServerAdmin webmaster@nekaj
DocumentRoot D:/tvoja/pot/na/disku/nekaj/tvojpoddirektorij/xxx
ServerName xxxx.example.com
/VirtualHost
==================
Just a cook

misek ::

S .htaccess:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^xxx.example.com$
RewriteRule ^(.*)$ http://example.com/xxx [L,R=301]
RewriteCond %{HTTP_HOST} ^yyy.example.com$
RewriteRule ^(.*)$ http://example.com/yyy [L,R=301]

alessio2 ::

Hvala obema za pomoč.
Ugotovil sem, da mi manjka še CNAME v DNS nastavitvah, kjer ni bilo definirano na kateri naslov mora it če obiščem npr. xxx.example.com.
Poskusil sem obe varjanti in obe delata z manjšimi stranskimi učinki:
Rewrite v .htaccess mi v naslovni vrstici naslov zamenja za www.example.com/xxx, če obiščem xxx.example.com, kar mi ni bilo všeč.

VirtualHost v httpd.conf, pa vse lepo in prav... pol pa ugotovim, da mi ne dela več www.example.com/xxx, samo xxx.example.com!
Niti na www.example.com/phpmyadmin mi ne pusti več :(

Aja, v .htaccess imam še (ne vem če to moti, ker brez tudi ne dela):
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

da mi vse obiske na www.example.com ali example.com usmeri na example.com (by no-www.org/)

Kako to porihtat?

misek ::

RewriteEngine On
RewriteBase /~user
RewriteCond %{HTTP_HOST} ^xxx.example.com$
RewriteRule ^(.*)$ xxx/index.html [L]
RewriteCond %{HTTP_HOST} ^yyy.example.com$
RewriteRule ^(.*)$ yyy/index.html [L]

Sam tisti /~user boš moral ti drugače napisati. Deluje pa nekako takole: če pride zahteva za xxx.example.com, se prikaže vsebina xxx/index.html. Brez redirekcije in torej spremembe naslova. Podobno velja za yyy.

alessio2 ::

Problem, ki sem ga imel v zadnjem postu sem rešil tako da sem dodal še en virtual host ki kaže na mojo "root" domeno.
<VirtualHost *:80>
    DocumentRoot "C:/myApacheFolder/www"
    ServerName www.example.com
</VirtualHost>

ker drugače se ne zna pravilno obnašat. DocumentRoot se praktično prepiše, če uporabiš VirtualHost

@misek: kaj pa pride namesto ~user, če bi poskusil še to metodo?

Zgodovina sprememb…

  • spremenil: alessio2 ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Apache in Node.JS

Oddelek: Izdelava spletišč
91872 (1558) dunda
»

mod_rewrite - prosim za nasvet

Oddelek: Programiranje
71316 (1192) carota
»

.si domena in redirect na Google apps (App Engine)

Oddelek: Omrežja in internet
102205 (1815) nkprimorje
»

Mod rewrite

Oddelek: Izdelava spletišč
61338 (1132) bluefish
»

Usmeritev domene na drugo domeno

Oddelek: Izdelava spletišč
71598 (1322) Uros!no

Več podobnih tem