Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: mod_rewrite, 'pseudofolder' (czyli wytwór rewrite) i... domena.
Forum PHP.pl > Forum > Serwery WWW
WhyNot
Postaram się jasno, choć szczerze mówiąc nawet nie wiem jak szukać w googlach odpowiedzi na to pytanie, więc nie bijcie jeśli tu już coś takiego jest, bo nie wiem jak pytać. No a w htaccess średnio się orientuję.

Tak więc - mam w htaccess taki ciąg reguł:
RewriteEngine OnRewriteRule ^parametr\/([^-]+)\.php$ $1.php?opcja=parametr&%{QUERY_STRING}RewriteRule ^parametr\/$ index.php?opcja=parametr&%{QUERY_STRING}" title="Zobacz w manualu PHP" target="_manual


wszystko działa, bo to trudne nie jest. Probelm pojawia się, kiedy nazwę folderu (pseudofolderu ;P) wpisze bez slasha - bo o ile reguła "^parametr$ parametr/" (albo ^parametr$ index.php?opcja=parametr&%{QUERY_STRING}) zadziała, to jednak linki wewnętrzne nie uwzględniają w ścieżce nazwy folderu (podczas gdy inne wyglądają np domena.pl/parametr/index.php >> po wywołaniu domena.pl/parametr/ )
Jak zrobić, żeby jednak uwzględniały?


To był pierwszy problem, teraz drugi, w sumie bardziej dla mnie istotny. Czy da się w jakiś sposób przekierować subdomenę na ten 'pseudofolder', żeby działało i zamiast teraz domena.pl/parametr mieć parametr.domena.pl ? za pomoca narzedzi danych mi przez firme hostingową już wiem , że się nie da, bo to coś uparcie tworzy foldery, z którch nic się nie zrobi, bo wyskakuje 'bad request' (nawet przy rewriterule ^(.*)$ ../ udaje ze nie widzi index.php pietro nizej, mimo ze takowy istnieje....)

Da się to jakoś zrobić? czy do domeny potrzeba mi fizycznego folderu?
Z gory dzieki za wszelka pomoc i jakbyk ktos nie czail o co mi chodzi (nie mam talentu do tlumaczenia), to postaram sie jakos inaczej...
erix
Cytat
Jak zrobić, żeby jednak uwzględniały?

Tag base albo albo ścieżki bezwzględne.

Cytat
RewriteRule ^parametr\/([^-]+)\.php$ $1.php?opcja=parametr&%{QUERY_STRING}

A o fladze [QSA] słyszał?

Cytat
To był pierwszy problem, teraz drugi, w sumie bardziej dla mnie istotny. Czy da się w jakiś sposób przekierować subdomenę na ten 'pseudofolder', żeby działało i zamiast teraz domena.pl/parametr mieć parametr.domena.pl ?

Da się.

Cytat
czy do domeny potrzeba mi fizycznego folderu?

To zależy.

Cytat
Z gory dzieki za wszelka pomoc i jakbyk ktos nie czail o co mi chodzi (nie mam talentu do tlumaczenia), to postaram sie jakos inaczej...

Te odpowiedzi raczej Cię nie usatysfakcjonują, więc wyraź się jasno.
R4D3K
Pisałem o tym nie dawno zobacz mój wątek
Temat: mod_rewrite_sciezki_dostepu_do_ccsowobrazkow
WhyNot
sorki za moja ignorancje, ale nie bardzo rozumiem analogii do tematu R4D(3)Ka...
Już olac ten problem ze slashem czy bez - to jakoś zrobię, byle się dobrze generowało, gorzej jak user wpisze bez slasha.
@erix - QSA obczajone, pozmieniam tamto (dopiero sie ucze, nie wszystko wszedzie pisza)


Do rzeczy (której w zasadzie wyłącznie mial dotyczyć temat).

Ten kod w pierwszym poście to prezentacja tego jak z wywolania np www.domena.pl/folder/index.php de facto wywoluje się www.domena.pl/index.php?parametr=folder (tyle, że widzimy to pierwsze - to jest chyba oczywiste).

Chodzi o to, ze chce zrobic teraz subdomene, ktora mi to przykryje. Żeby pod adresem folder.domena.pl/index.php widziec www.domena.pl/index.php?parametr=folder, albo pod postacią folder.domena.pl/skrypt.php?a=1&b=2&c=3 chowało się www.domena.pl/skrypt.php?parametr=folder&a=1&b=2&c=3 etc.
I teraz jak to zrobić - to moje pytanie na które oczekuję odpowiedzi. Nie chcę przekierowywać, tylko chcę maskować ten adres pod subdomeną. (moż enie trzeba tego pośredniego rozwiązania z 'pseudofolderem' - to już wszystko jedno)

Pomysł był taki, żeby domenę podpiąć pod ten pseudofolder : by adres razem z folderem (www.domena.pl/folder/) wpisać w ustawieniach subdomeny w panelu który mam od firmy hostingowej. Ale tak się nie da. bo o ile ten zestaw reguł działa dla www.domena.pl/folder/index.php, to już dla subdomeny podpiętej pod to nie działa O.o (mimo, że chodzi o ten sam folder (który notabene się uparcie tworzy sam z siebie po podpięciu subdomeny przez panel). Dla subdomeny wyskakuje 'bad request'

Mam nadzieje, ze teraz jest troche jaśniej



EDIT:
bez użycia panelu nie mogę (nie umiem?) ot-tak zrobić sobie przekierowania domeny (może to przez myslnik w nazwie? cholera wie, ale i z backslashem przed nim, i bez - nie działa). [jest co ciekawe błąd wczytywania strony, a nie 404]

RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{HTTP_HOST} !^www\.moja\-domena\.pl$RewriteCond %{HTTP_HOST} ^(subdom|test|inny)\.moja\-domena\.pl?$RewriteRule ^(.+)$ ?param=$1 [QSA][L]" title="Zobacz w manualu PHP" target="_manual
erix
Owszem, jaśniej: był już taki temat, szukaj: subdomeny wildcard - na tym forum.
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.