Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Nowy serwis - wielu użytkowników - jaki sposób ? MOD_REWRITE ?!?
#1
witam, zamierzam zrobić mały serwis i sprawa ma się tak. zakładam ze będzie dużo userow każdy user ma swoja subdomene wariat:
1. mam swój CMS i na każdej subdomenie instaluje każdemu userowi jego CMS user1.x.pl user2.x.pl itd
2. robię jedeną subdomene usery.x.pl i tylko z każdej subdomeny odwołuje się przez htaccess do danych jednego usera.

pytanie co lepsze? w 1 wariacie generuje ruch na subdomenach natomiast w 2 w jednej chwili na jednym CMS może się zalogować 100 userow. 2 wariat ograniczy pliki na stronie i teoretycznie łatwiej będzie tym wszystkim administrować.
jakie są + i - takich rozwiązań ? dzkei za info
Odpowiedz
#2
Wariant 1 plusów nie ma żadnych. Jedynym sensownym rozwiązaniem jest jedna instalacja silnika i różne zabawy z profilami robić za pomocą mod_rewrite.
Dobre samopoczucie w tym tygodniu sponsoruje cytat:
Cytat:Mogę tylko tylko na prawo i lewo ale na środek nie mogę.
Odpowiedz
#3
(21-02-2012, 01:36)Pedro84 napisał(a): Wariant 1 plusów nie ma żadnych. Jedynym sensownym rozwiązaniem jest jedna instalacja silnika i różne zabawy z profilami robić za pomocą mod_rewrite.

hmmm... interesujące... hmm.... troche poczytalem i naprawde może mi sie przydać Smile tak mnie jeszcze zastanawia będzie tak:
racja zeby instalowaś 1 silnik ale będzie duzo subdomen i kazdy user bedzie mial swoja subdomene co za tym idzie bedzie mial wlasna podstrone z wlasnymi danymi czyli jakos musze z bazy wyciagnac dane tego uzytkownika i tak:
imie1.nazwisko1.domena.pl
imie2.nazwisko2.domena.pl
te subdomeny beda przekierowane na jeden silnik wiec zeby je odroznic trzeba by przy kazdej dodac odpowiednio ?id=1 i ?id=2 zeby wyciagnac te dane ? tylko ze ades bedzie troche brzydko wyglądał czy dało by sie pominąć paramerty po ?
może skorzystać z takiego skryptu
Kod:
<?php
$adres   = $_SERVER['HTTP_HOST'];
$adres   = explode('.', $adres);
if($adres[0]=='www')
echo $aa=$adres[1].'.'.$adres[2];
else
echo $aa=$adres[0].'.'.$adres[1];
print_r($adres);
?>
i odnosić sie do pazy poprzez $aa

coo będzie rozsądniejsze ? może jakiś inny pomysł ?
Odpowiedz
#4
Takie rzeczy załatwia się za pomocą mod_rewrite.
Dobre samopoczucie w tym tygodniu sponsoruje cytat:
Cytat:Mogę tylko tylko na prawo i lewo ale na środek nie mogę.
Odpowiedz
#5
(21-02-2012, 03:15)Pedro84 napisał(a): Takie rzeczy załatwia się za pomocą mod_rewrite.
ale jak w mod_rewrite pobrac subdomene ? do tego jeszcze nie doszedlem
OKOK
RewriteCond %{HTTP_HOST} !=www.domena.pl
RewriteCond %{HTTP_HOST} ^(www\.)?(.+).domena.pl$
damy rade jutro startuje z nową wiedzą Smile dz

Odpowiedz
#6
(21-02-2012, 03:17)jakub1969 napisał(a):
(21-02-2012, 03:15)Pedro84 napisał(a): Takie rzeczy załatwia się za pomocą mod_rewrite.
ale jak w mod_rewrite pobrac subdomene ? do tego jeszcze nie doszedlem
OKOK
RewriteCond %{HTTP_HOST} !=www.domena.pl
RewriteCond %{HTTP_HOST} ^(www\.)?(.+).domena.pl$
damy rade jutro startuje z nową wiedzą Smile dz

jednak się posile waszymi umiejętnościami, nie wiem czy tak idzie w mod_rewrite, ju opisuje:

sub1.domena.pl
sub2.domena.pl

kazda z tych subdomen ma sie odnosic do innych danych z bazy (coś o tym pisałem wyżej)
napisałem tak .htaccess:
Kod:
Options FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} sub1.domena.pl
RewriteRule ^(.*)$^(.*)$ index.php?id=1$1 [L]
RewriteCond %{HTTP_HOST} sub2.domena.pl
RewriteRule ^(.*)$^(.*)$ index.php?id=2$1 [L]
wtedy w index.php przez $_GET['id'] mogę wyciągnąć dane z bazy co jeszcze jest fajnego o co mi chodzi to w adresie widnieje zawsze tylko subdomena.domena.pl bez parametrów

no ale teraz dla każdej subdomeny trzeba powielić 2 linijki.
1. można to jakoś z automatu zrobić ? np do id było przekazywane sub1 a RewriteCond sam pobierał sub1 albo przekierowywał w zależności od sub1
2. po index.php jest id=1$1 po co jest $1 ? bez tego tez działa
Odpowiedz
#7
Przepisywać mi się nie chce, bo sensu nie ma. Poczytaj to: http://fantomaster.com/faarticles/rewritingurls.txt
Dobre samopoczucie w tym tygodniu sponsoruje cytat:
Cytat:Mogę tylko tylko na prawo i lewo ale na środek nie mogę.
Odpowiedz
#8
(21-02-2012, 15:22)Pedro84 napisał(a): Przepisywać mi się nie chce, bo sensu nie ma. Poczytaj to: http://fantomaster.com/faarticles/rewritingurls.txt

dzieki poradzilem sobie tak i działa
Kod:
Options FollowSymLinks
RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?(.+).domena.pl$
RewriteRule ^(.*)$^(.*)$ index.php?subdomena=%2
Odpowiedz
#9
(21-02-2012, 15:22)Pedro84 napisał(a): Przepisywać mi się nie chce, bo sensu nie ma. Poczytaj to: http://fantomaster.com/faarticles/rewritingurls.txt

no dobra myślałem ze coś z tego będzie. można by powiedzieć ze poczytałem i dużo się dowiedziałem ale mam problemy ze zrozumieniem

Options FollowSymLinks
RewriteEngine On
oto kod który zastosowałem i działa: wpisując adres sub1.sub2.domena.pl pobiera mi dane usera (sub1.sub2) z bazy dzięki zmiennej subdomena= sub1.sub2 i analogicznie do domeny sub3.sub4.domena.pl

Kod:
# ^(www\.)? - poczatek napisu zero lub jedno wystąpienie
#(.+) - rozpoczęte grupowanie () .+ wysąpienie dowolny znak jeden lub wiele razy
RewriteCond %{HTTP_HOST} ^(www\.)?(.+).domena.pl$
RewriteRule ^(.*)$^(.*)$ ?subdomena=%2
######

próbowałem odszyfrować znaki i trochę mi się udało wszytko było by ok gdzyby nie to ze potrzebuje jeszcze przekazywac inne zmienne przez adres np ?id=1 probowalem juz na wiele sposobów ale ciagle mi sie nie udaje

pzy tym kodzie mi sie udalo ale znowu nie pobiera smiennej subdomena
Kod:
# ^(www\.)? - poczatek napisu zero lub jedno wystąpienie
#(.+) - rozpoczęte grupowanie () .+ wysąpienie dowolny znak jeden lub wiele razy
RewriteCond %{HTTP_HOST} ^(www\.)?(.+).domena.pl$
RewriteRule ^(.*)$^(.*)$ index.php?subdomena=%2
######

wytłumaczcie mi prosze dokladnie jak to dziala jesli mam adres
index.php?id=1 i on dziala to w htaccess moge go tak przerobic ze bdzie dzialal pod adresem np index.php/1 i nie musze tworzyc dodatkowych katalogow itd tylko ten adres odniesie sie do index.php?id=1 czyli nie oznacza to ze zamiany index.php?id=1 na index.php/1 tylko dodatkowy adres ?

moze powineinem stworzyc osobne pliki html np 1.html a co jesli ma byc obsluga jezykow ? np pl i en
to musze miec pliki 1-pl.html i 1-en.html ? raczej to nie ma sensu bo wszyetko moze sie odnoscic do jednego index.php !?
Odpowiedz
#10
Aleś namotał. Podejdźmy inaczej do problemu, co konkretnie chcesz osiągnąć? Big Grin
Dobre samopoczucie w tym tygodniu sponsoruje cytat:
Cytat:Mogę tylko tylko na prawo i lewo ale na środek nie mogę.
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Zabawy z mod_rewrite Morfeusz_2005 2 3,556 20-12-2012, 23:16
Ostatni post: Morfeusz_2005
  Relacje jeden do wielu w mysql lukaszm89 1 2,507 22-03-2012, 19:07
Ostatni post: Pedro84
  mod_rewrite - jak to możliwe? kbzium 5 4,345 22-09-2011, 18:01
Ostatni post: kancik
  Zalogowanie się do innego serwisu bez wiedzy odwiedzającego serwis KmiOteK 0 1,651 15-09-2011, 03:21
Ostatni post: KmiOteK
  mod_rewrite + cms wicek 0 1,732 27-06-2011, 13:04
Ostatni post: wicek

Skocz do:


Użytkownicy przeglądający ten wątek: 3 gości
Sponsorzy i przyjaciele
SeoHost.pl