Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CodeIgniter] Subdomeny
Forum PHP.pl > Forum > PHP > Frameworki
user123
Witam,

udało mi się w CI uruchomić subdomenę adres.moja-domena.pl lecz nie potrafię zamienić moja-domena.pl/stronka na adres.moja-domena.pl/stronka. W jaki sposób wy radzicie sobie z tym problemem?

Pozdrawiam
derdiusz
Cześć!

chodzi Ci o redirect z moja-domena.pl/stronka na adres.moja-domena.pl/stronka? Zalecam użyć mod rewrite (dla apacha) dzięki czemu będziesz mógł automatycznie przekierować cały ruch z domeny na subdomenę. Utwórz plik .htaccess w głównym folderze strony i podaj np.:

Kod
RewriteEngine on

RewriteCond %{HTTP_HOST} !^adres.moja-domena.pl/$ [NC]
RewriteRule ^(.*)$ http://adres.moja-domena.pl/$1 [L,R=301]


Dzięki temu każde wywołanie z będzie przerzucone na adres.moja-domena.pl, np. moja-domena.pl/logo.jpg -> adres.moja-domena.pl/logo.jpg. Podobnie będzie z moja-domena.pl/stronka przejdzie na adres.moja-domena.pl/stronka

Mam nadzieję, że o to chodziło i pomogłem smile.gif

--
Informacje Warszawa
user123
To może dam jeszcze jeden przykład:

chciałbym aby po wejściu na:

http://sub.domena.pl/abc/1
http://sub.domena.pl/abc/2
http://sub.domena.pl/abc/...
http://sub.domena.pl/abc/100

i

http://sub.domena.pl/xyz/A
http://sub.domena.pl/xyz/B
http://sub.domena.pl/xyz/...
http://sub.domena.pl/xyz/Z

uruchamiała się zawartość(nie chodzi mi o przekierowanie) z:

http://domena.pl/abc/1
http://domena.pl/abc/2
http://domena.pl/abc/...
http://domena.pl/abc/100

i

http://domena.pl/xyz/A
http://domena.pl/xyz/B
http://domena.pl/xyz/...
http://domena.pl/xyz/Z

w jaki sposób można to zrobić, nie chcę aby wszystkie podstrony z domeny głównej były widziane w subdomenie chodzi mi tylko o wybrane. W jaki sposób można to zapisać w htaccess?
derdiusz
w taki wypadku sprawa wydaje się jeszcze prostsza. po prostu przekieruj obie domeny na główny folder i podlinkuj sub.domena.pl/xyz/1 do tego do czego potrzebujesz, a o mod rewrite z przekierowaniem zapomnij smile.gif

pytanie tylko czy chcesz uruchamiać oddzielny kontroler dla subdomeny czy lecieć z głównego?


--
Warszawa jest piękna!
user123
jak to podlinkuj "sub.domena.pl/xyz/1 do tego do czego potrzebujesz"? W jaki sposób podlinkuj? Możesz pokazać przykład?
derdiusz
Jeżeli chcesz aby jakaś podstrona była w oddzielnej subdomenie to daj po prostu:

Kod
<a href="http://teledyski1.domena.pl/">Teledyski 1</a>
<a href="http://teledyski2.domena.pl/">Teledyski 2</a>


Wszystko i tak trafia do jednego kontrolera, w którym już udało Cię odczytać subdomenę, tak więc możesz wykonać odpowiednie akcje smile.gif

--
Wiadomości Warszawa
user123
po wejsciu na pierwsza subdomene strona przekierowuje sie tam gdzie powinna tylko, ze juz po wejsciu na podstrone czyli sub.domene.pl/xyz/1 zostaje przekierowany na domene.pl, czy potrzebne jest jakis wpis w config/routes.php questionmark.gif

Cos w stylu:

Kod
switch ($_SERVER['HTTP_HOST']) {
    case 'sub.domenka.pl': $route['default_controller'] = "kontroler/klasa/funkcja"; break;
    default: $route['default_controller'] = "kontroler/klasa/funkcja"; break;
}

if($_SERVER['HTTP_HOST'] == "www.domenka.pl" || $_SERVER['HTTP_HOST'] == "domenka.pl")
{
...
}else if($_SERVER['HTTP_HOST'] == "www.sub.domenka.pl" || $_SERVER['HTTP_HOST'] == "sub.domenka.pl"){
...
}


questionmark.gif
derdiusz
Jeżeli chcesz to zrealizować w tym stylu, to w pliku system/application/config/routes.php dodaj właśnie mechanizm określający domyślny kontroler:

routes.php
  1.  
  2. switch ($_SERVER['HTTP_HOST'])
  3. {
  4. case 'sub.domenka.pl':
  5. $route['default_controller'] = "kontrolerSub";
  6. break;
  7. case 'sub2.domenka.pl':
  8. $route['default_controller'] = "kontrolerSub2";
  9. break;
  10. default:
  11. $route['default_controller'] = "normal";
  12. break;
  13. }


definiując $route['default_controller'] podajesz tylko kontroler bez metod.


--
Warszawski portal miejski
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.