Autor | Zpráva | ||
---|---|---|---|
lachim15 Profil |
Zdravím, potřeboval bych poradit.
Mám například nějakou adresu: www.adresa.cz/stranka.php?f=jmeno_neceho
Potřeboval bych z hodnoty GET udělat subdoménu, která by se lišila podle toho, jaká by byla hodnota GET, například z adresy, kterou jsem uvedl výše by vzniklo: www.jmeno_neceho.adresa.cz Jde to udělat nějak jednoduše? Na internetu jsem našel pouze nějaké návody s Apache, který jde úplně mimo mě. Kdyby to nešlo obejít jednoduše, nenapsali by jste mi prosím obecně na co se zaměřit? |
||
Taps Profil |
#2 · Zasláno: 9. 10. 2015, 11:25:28
Jakym zpusobem zakladas subdomenu v soucasne dobe?
|
||
lachim15 Profil |
#3 · Zasláno: 9. 10. 2015, 11:38:17
Subdomény nezakládám, nemám s nimi žádné zkušenosti. Todle je poprvé, co je potřebuji.
|
||
aDAm Profil |
#4 · Zasláno: 9. 10. 2015, 11:39:15
a co teda chceš dělat? jako jen přesměrovat z té adresy č.1 na adresu č.2?
|
||
lachim15 Profil |
#5 · Zasláno: 9. 10. 2015, 11:40:08
V podstatě, aby se vzhledově udělala z GET hodnoty subdoména.
|
||
Dan Charousek Profil |
Obecně se tato problematika řeší opačným způsobem. Člověk přistupuje na adresu
www.neco.example.com a je mu poskytnut obsah z adresy www.example.com/stranka.php?f=neco
V kořenovém adresáři svých stránek vytvoř soubor s název .htaccess (ta tečka tam opravdu je) a do něj vlož následující kód:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{HTTP_HOST} ^(.*)\.example.com$ # místo example.com napiš adresu své stránky RewriteRule ^(.*)$ stranka.php?subdom=%1&request=$1 [QSA,L] # místo stranka.php napiš jméno souboru, na kterém se budou požadavky zpracovávat Důležitý je i parametr request (ten si taky můžeš přepsat), který bude obsahovat vše, co uživatel zadá za lomítko: blog.example.com/ahoj subdom parametr bude obsahovat "blog" a request parametr bude obsahovat "ahoj"
Jinak bys nemohl poskytovat různý obsah na základě různých požadavků. Vytvořil jsem takový ukázkový příklad: code.dancharousek.cz/examples/djpw/subdom-rewrite-164858/helloWorld! ad) V souboru stranka.php pak můžeš přistupovat k obsahu pomocí pole $_GET :
<?php if(isset($_GET['subdom'], $_GET['request'])) { echo "Subdom: " . htmlspecialchars($_GET['subdom']) . "<br>"; echo "Request:" . htmlspecialchars($_GET['request']); } |
||
lachim15 Profil |
Ještě se chci zeptat, je nějaká možnost toto vše odzkoušet na localhostu? Doménu ještě nemám koupenou. (virtuální server Wamp)
EDIT: Možnost používání rewrite.modul mám zapnutý :) |
||
lionel messi Profil |
#8 · Zasláno: 9. 10. 2015, 12:07:32
lachim15:
„Ještě se chci zeptat, je nějaká možnost toto vše odzkoušet na localhostu?“ Áno. Skús tento návod. |
||
lachim15 Profil |
Vytvořil jsem raději čistý soubor a nějak to nefunguje, použil jsem:
<?php if(isset($_GET['subdom'], $_GET['request'])) { echo "Subdom: " . htmlspecialchars($_GET['subdom']) . "<br>"; echo "Request:" . htmlspecialchars($_GET['request']); } ?> .htaccess vypadá takto a je ve stejném adresáři: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{HTTP_HOST} (.*)\.localhost/ # místo example.com napiš adresu své stránky RewriteRule ^(.*)$ service.php?subdom=%1&request=$1 [QSA,L] # místo stranka.php napiš jméno souboru, na kterém se budou požadavky zpracovávat Jako adresu jsem zvolil: celek.localhost/test Je možné, že mám chybu v .htaccess při zadání adresy localhost? rewrite modul mám zaplý i port 80 využívá wamp |
||
Dan Charousek Profil |
#10 · Zasláno: 9. 10. 2015, 12:39:41
lachim15:
Zkus se podívat na stackoverflow.com/questions/79764/wildcard-subdomains. Nijak jsem to nestudoval, ale řeší se tam právě otázka proměnných subdomén na localhostu. |
||
Časová prodleva: 9 let
|
0