Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> mod_rewrite, 'pseudofolder' (czyli wytwór rewrite) i... domena.
WhyNot
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 23.07.2009

Ostrzeżenie: (0%)
-----


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...

Ten post edytował WhyNot 23.07.2009, 23:44:14
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
WhyNot
post
Post #2





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 23.07.2009

Ostrzeżenie: (0%)
-----


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

Ten post edytował WhyNot 24.07.2009, 18:31:40
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.10.2025 - 00:20