Dynamiczne subdomeny w php

0

Witam serdecznie,
Mam taki plik .htaccess:

Options +FollowSymLinks
RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)\.html index.php?query=$1&%{QUERY_STRING}&modrw [L]

chciałbym go rozbudować o obsługę subdomen działających na zasadzie:
mojanazwa.domena.pl = www.domena.pl/index.php?nazwausera=mojanazwa

chciałbym zachować aktualną możliwość maskowania linków, tzn domena.pl/rejestracja.html itp...

Próbowałem dodać taki kod:

RewriteCond %{HTTP_HOST} !www.domena.pl$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).domena.pl[NC]
RewriteRule (.*) index.php?nazwausera=%1 [L]

ale nie działa :(

Ma ktoś może jakiś pomysł jak to prosto zrobić?

Z góry dziękuje za pomoc,
northwest

0

htaccessem subdomeny raczej nie zrobisz ;)

1

a masz w ogóle ustawiony rekord wildcard DNS?

0

Nie pierdziel się z tym, tylko weź przepuść wszystkie żądania przez plik index :P

RewriteEngine On
RewriteRule .* index.php

0

a jak to puścić przez indexa??:) to mi najbardziej odpowiada :)

0
gtdesign napisał(a)

a jak to puścić przez indexa??:) to mi najbardziej odpowiada :)

Zawartość pliku .htaccess w głównym katalogu:

RewriteEngine On
RewriteRule .* index.php

Powyższa reguła sprawia, że wszystkie żądania są przesyłane do pliku index.php. Za pomocą getenv('REDIRECT_URL') sprawdzasz ścieżkę żądania (dokładniej wszystko co jest po nazwie domeny w pasku adresu), ale warto, żebyś sobie wywołał print_r($_SERVER) i zobaczył inne zmienne jakie masz dostępne. Adres później sobie parsujesz jak chcesz (np. explode('/', $path);). Oczywiście w pewnym momencie uświadomisz sobie, że przecież masz kilka plików (js, css, obrazki), które reguła w pliku .htaccess powinna omijać. Najprościej zrobić to tak: utworzyć katalog do przechowywania statycznych plików i umieścić w nim plik .htaccess wpisując do niego:

RewriteEngine Off

Voila!

0

hmmm.... a jak to zapisać żeby nie kolidowało z :
RewriteEngine On
RewriteRule ^kalendarz.html$ controller/Callendar.php
RewriteRule ^ajax/([a-z]+)+/([a-z]+)+.html$ ajaxController/$2.php?action=$1

??;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1