ugrás a tartalomhoz

subdomain letrehozasa htaccessel

gazember · 2008. Júl. 2. (Sze), 10.02
Sziasztok.
A kerdesem a kovetkezo:
szeretnek letrehozni egy webcimet htaccessben:
shop.gordius.ro/termekkategoria/termeknev.html
amit a www.gordius.ro/shop.php?cat=termekkategoria&prod=termeknev
file fogja feldolgozni.
Valaki ert a htaccesshez annyira, hogy segitsegemre legyen?
Kiindulaskent talaltam valamit (lennebb lathato), azonban ez nem jo, mert a subdomain nevet adja at a feldolgozo filenak.


RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.yourwebsite.com
RewriteCond %{HTTP_HOST} ([^.]+)\.yourwebsite.com
RewriteRule ^(.*)$ /path_to_your_site/httpdocs/work_out.php?url=%1


Elore is koszi a segitseget.
Zoli
 
1

hozzafuzes

gazember · 2008. Júl. 2. (Sze), 10.12
Ja, meg amit elfeledtem hozzafuzni, hogy ugy szeretnem elkesziteni, hogy a htaccess file ne legyen egy domainhez kotve, mert tobb domain si mutat majd ugyarra a sitera.
Koszi
Zoli
6

nem jó az elképzelés

gex · 2008. Júl. 2. (Sze), 13.35
többször volt már szó róla, hogy a tartalom duplikálása nem jó, mert nem szeretik a keresőrobotok. 301-es kóddal kell átirányítani a többi domain-t a gordius.ro-ra. keress vissza.
8

atiranyitas

gazember · 2008. Júl. 2. (Sze), 14.12
koszi, ezt elfelejtettem, pedig regen olvastam en is.
2

próbáld ki ezt

VBala · 2008. Júl. 2. (Sze), 11.20
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ shop.php?cat=$1 [L]
RewriteRule ^([^/]+)/(.*)\.html$ shop.php?cat=$1&prod=$2 [L]


szerk: ja bocs, ez nem csak a shop.gordius.ro-s url-eket írja át, hanem mindet.
Más valaki esetleg?
3

subdomain

gazember · 2008. Júl. 2. (Sze), 11.37
Igen, egy ehez hasonlo valtozatot en is gondoltam.
Koszi azert
4

Redirect 301 kell hozzá!!!

fmagnucz · 2008. Júl. 2. (Sze), 13.14
Egyet szerintem tisztázzunk. Webcímet htaccess-ben nem lehet létrehozni!!! Webcím létrehozásához mindenképpen egy DNS bejegyzés szükséges a megfelelő domainszerver adatbázisába. Amíg ez nincs meg, addig a webcím nem lesz elérhető. Ha a shop.gordius.ro bejegyzés létre lett hozzva a gordius.ro domain-ban, akkor a problémádra a megoldást megtalálod ezen az oldalon.

Üdv: Feri
5

nem az kell hozzá!!!

gex · 2008. Júl. 2. (Sze), 13.31
ez nem 301-es átirányítás, hanem szép url.
7

megoldás menete

gex · 2008. Júl. 2. (Sze), 13.59
  1. első és legfontosabb - és ebben igaza van fmagnucznak - legyen a shop.gordius.ro bejegyezve. ezt megteheted * aldomainnel is, ha a továbbiakban több url-t is hasonlóképpen akarsz lekezelni (blog.gordius.ro, forum.gordius.ro, stb).
  2. meg kell oldanod a webszerver beállításainál, hogy a shop.gordius.ro és a gordius.ro ugyanarra a könyvtárra mutasson, pl VirtualHost-ként:
    ServerName gordius.ro
    ServerAlias shop.gordius.ro

  3. htaccessben feltételek:
    - a domain shop-pal kezdődik (a {HTTP_HOST} illeszkedik a ^shop\.[^.]+\.[^.]+$ mintára)
    - a cím nem létezik (a {REQUEST_FILENAME} nem létezik (!-f, !-d))
    - a cím /termekkategória/termék/ alakú (a {REQUEST_FILENAME} illeszkedik a ^/([^/])/([^/])/?$ mintára)
  4. htaccess szabály: ^(.*)$ shop.php?cat=%1&prod=%2 [QSA]


ennyiből már talán meg tudod oldani.
9

koszi

gazember · 2008. Júl. 2. (Sze), 14.14
Koszi, remelem, ki tudom hozni a megoldast ra.
10

hiba

gazember · 2008. Júl. 7. (H), 13.50
Sziasztok.
A subdomain be van jegyezve, de sajnos valamiert nem mukodik a dolog.
Valakinek van otlete mert?
Ime a htaccess file tartalma:
RewriteEngine on

RewriteCond {HTTP_HOST} ^shop\.[^.]+\.[^.]+$
RewriteCond {REQUEST_FILENAME} !-f, !-d
RewriteCond {REQUEST_FILENAME} ^/([^/])/([^/])\.html?$
RewriteRule ^(.*)$ shop.php?cat=%1&prod=%2 [QSA]

Elore is koszi.
Zoli
11

feltételeket nem lehet vesszővel tagolni

gex · 2008. Júl. 7. (H), 16.31
RewriteCond {REQUEST_FILENAME} !-f, !-d

helyett
RewriteCond {REQUEST_FILENAME} !-f
RewriteCond {REQUEST_FILENAME} !-d

elsőre ezt vettem észre.

u.i: bocs, hogy nem válaszoltam a leveledre, hétvégén nem nagyon voltam gépközelben.

szerk:
1) érdemes beüzemelni egy rewritelogot, hogy lásd mi történik
2) ha pontos választ vársz írd le, hogy mit takar az hogy "nem működik a dolog" ;)
13

majdnem megoldas:)

gazember · 2008. Júl. 8. (K), 08.13
Sziasztok.
A megoldas majdnem teljesen megvan, mar csak a kovetkezot kell megoldjam:
RewriteRule ^([^/]+)/?$ shop.php?cat=$1 [QSA,NC]

Ezt szeretnem ugy megoldani, hogy a shop.gordius.ro/kategoria/ cimbe a kategoria resz opcionalis legyen.
Vagyis, roviden azt, hogy a shop\.[^.]+\.[^.]+ mintara illeszkedo cim a shop.php filehoz menjen minden lekeressel.
Koszi elore is.
Sziasztok.
14

két átirányítás

gex · 2008. Júl. 8. (K), 10.33
nem teljesen értem, kétféleképpen is tudom értelmezni amit írtál.


  1. a kategoria resz opcionalis legyen

    RewriteEngine on

    RewriteCond {HTTP_HOST} ^shop\.[^.]+\.[^.]+$
    RewriteCond {REQUEST_FILENAME} !-d
    RewriteCond {REQUEST_FILENAME} !-f
    RewriteCond {REQUEST_FILENAME} ^/([^/])/([^/])\.html?$
    RewriteRule ^(.*)$ shop.php?cat=%1&prod=%2 [QSA]

    RewriteCond {HTTP_HOST} ^shop\.[^.]+\.[^.]+$
    RewriteCond {REQUEST_FILENAME} !-d
    RewriteCond {REQUEST_FILENAME} !-f
    RewriteCond {REQUEST_FILENAME} ^/([^/])\.html?$
    RewriteRule ^(.*)$ shop.php?prod=%1 [QSA]

    (elképzelhető hogy megoldható egyetlen szabállyal, de most nincs időm tesztelni, ez pedig biztosan működik)
    magyarázat: először megnézzük, hogy shop.domain.tld/kategória/terméknév.html alakú-e az url, ha igen átirányítunk, ha nem akkor megbukik a feltétel, így jön a következő átirányítás, ahol a shop.domain.tld/terméknév.html url-eket kezeljük le.


  2. "a shop\.[^.]+\.[^.]+ mintara illeszkedo cim a shop.php filehoz menjen minden lekeressel

    RewriteEngine on

    RewriteCond {HTTP_HOST} ^shop\.[^.]+\.[^.]+$
    RewriteCond {REQUEST_FILENAME} !-d
    RewriteCond {REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ shop.php?path=$1 [QSA]

    magyarázat: minden kérést, ami a shop.domain.tld-re érkezik és nem létező fájlra mutat, átirányítunk a shop.php-re. a $_GET['path']-ból tudod kibányászni, hogy mi volt a kérés (kategória/terméknév.html vagy terméknév.html).

mindkét esetben a nem létező oldalakra neked kell 404-es fejlécet küldened, mivel az apache 200-as fejlécet ad vissza a sikeres belső átirányítás miatt.

kötelező olvasmány: http://weblabor.hu/cikkek/rovidwebcim
15

megvan

gazember · 2008. Júl. 8. (K), 15.05
koszi, megvan. Mostmar csak a sessiont kell atvigyem a subdomainre es kesz.
16

ezen már ne múljon

gex · 2008. Júl. 8. (K), 15.39
http://weblabor.hu/forumok/temak/15272#comment-34193
12

Biztos vagy te ebben?

janoszen · 2008. Júl. 7. (H), 19.20
Biztos vagy benne, hogy ezt htaccessel akarod megcsinálni? Én annó próbálkoztam vele (Wordpress kombóban) de rájöttem, hogy kár a gőzért, valamilyen környezeti változó úgyse fog stimmelni. Ha esetleg van hozzáférésed a szerverhez, ajánlom a mod_vhost_alias-t.