Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: .htaccess -> Subdomany
Forum PHP.pl > Forum > Serwery WWW
Hectic
Witam, wiem ze ten problem był poruszany wiele razy, ale mój jest troszkę inny. Szukałem na google i nic zadowalającego nie znalazłem. Chciałbym zrobić coś takiego:

Adres w postaci:

http://ziomek.domena.pl/

Będzie w rzeczywistości wykonaniem skryptu:

http://domena.pl/index.php?subdomena=ziomek

Wydaje mi się że tutaj trzeba zastosować RewriteRule i RewriteCond, ale nie bardzo wiem jak. Proszę o pomoc.
devnul
a nie możesz skorzystać z informacji zawartych w $_SERVER i na ich podstawie obsługiwać subdomeny? to bardziej sensowne wyjscie niż kożystanie ze zmiennej do tego celu
sf
RewriteCond %{HTTP_HOST} !^www.domena.pl$
RewriteCond %{HTTP_HOST} ^(www\.)?(.+).domena.pl$
RewriteRule .* ?subdomain=%2

niebawem (dziś wieczorem, lub jutro z rana) spis takich standardowych reguł pojawi się na moim blogu
Hectic
Niestety to akurat nie działa...
devnul
powino być chyba
Kod
RewriteCond %{HTTP_HOST} !^www\.domena\.pl$
RewriteCond %{HTTP_HOST} ^(www\.)?(.+)\.domena\.pl$
RewriteRule .* index.php?subdomena=$2
sf
@devnul: może zanim zaczniesz poprawiać to sprawdź co Ty w ogóle robisz, mój przykład działa, sprawdzałem na 2 serwerach
Hectic
U mnie niestety wywala że nie można odnaleźć strony :-/
sf
Może pokaż jak to wpisałeś i gdzie uruchamiasz. Jeśli pisze, że nie masz strony to dopisz index.php. No i czy na pewno masz uruchomiony wildcard, albo ustawione subdomeny na katalog główny? Przy wyłączonym mod_rewrite pokazuje Ci index.php ?
wlamywacz
Nie chce zakładać nowego tematu mam podobny problem. Chciałbym odpalić takie coś na localhost da rade ? Mam krasnala win XP mógłby mi ktoś powiedzieć jak to zrobić ew. podać linka ?
.radex
Krasnal to.... przeżytek. Stary zbiór php, apache itd. Zainstaluj najlepiej XAAMP - jeden z lepszych darmowych serwerów pod win i pod linux.
wlamywacz
No ok to jak to zrobić na XAAMPie ?
Hectic
Mój pliczek wygląda tak:

Cytat
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.xpr.xorg.pl$
RewriteCond %{HTTP_HOST} ^(www\.)?(.+).xpr.xorg.pl$
RewriteRule .* index.php?subdomain=%2

Po wpisaniu adresu http://www.mama.xpr.xorg.pl/, wyświetla że nie może znaleźć pliku :/. Serwer jest na cal.pl
webdice
Witam, nie chce zakładać nowego tematu więc napisze tutaj, mam problem z wildcardem, httpd.conf wygląda tak:

Kod
<VirtualHost 0.0.0.0:80>


    ServerName www.domena.pl
    ServerAlias www.domena.pl domena.pl
    ServerAdmin webmaster@domena.pl
    DocumentRoot /home/user/domains/domena.pl/public_html
    ScriptAlias /cgi-bin/ /home/user/domains/domena.pl/public_html/cgi-bin/

    UseCanonicalName OFF

    SuexecUserGroup user user
    CustomLog /var/log/httpd/domains/domena.pl.bytes bytes
    CustomLog /var/log/httpd/domains/domena.pl.log combined
    ErrorLog /var/log/httpd/domains/domena.pl.error.log

    <Directory /home/user/domains/domena.pl/public_html>
        Options +Includes -Indexes
        php_admin_flag engine ON
        php_admin_flag safe_mode OFF
        php_admin_value sendmail_path '/usr/sbin/sendmail -t -i -f user@domena.pl'
    </Directory>



    php_admin_value open_basedir /home/user/:/tmp/:/var/www/:/usr/local/lib/php/:/etc/virtual/

</VirtualHost>


To jest kawałek httpd.conf tworzonego przez directadmina, poza tym znajdują się tam tylko inne skecje VirualHost. Probowałem zmienić

Kod
ServerAlias www.domena.pl domena.pl


na

Kod
ServerAlias *.domena.pl


ale nic to nie dało, dodatkowo dodawałem do DNS wpis:

Kod
*.webdice.pl. CNAME webdice.pl.


ale to także nic nie zmieniło, oczywiści restartowałem apache i named. Co do ServerAlias probowałem jeszcze na różne sposoby, np:

Kod
ServerAlias domena.pl *.domena.pl
ServerAlias www.*.domena.pl *.domena.pl


podobnie w wpisach DNS, ale bez żadnych rezultatów. Domena/subdomena albo się nie wyświetlała, albo prowadziła do IP serwera.
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.