Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zasymulowanie mod_userdir za pomoca mod_rewrite
lukaswoj
post
Post #1





Grupa: Zarejestrowani
Postów: 136
Pomógł: 0
Dołączył: 2.01.2004
Skąd: Lublin

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


Witam

Mam serwer, na którym userzy mają stronki serwowane za pomocą "mod_userdir".

Chciałbym przejść z urli "http://serwer.pl/~user" na "http://user.serwer.pl".

Samo mapowanie urli "http://user.serwer.pl" do odpowiednich katalogów to nie problem ale chciałbym aby działały jednocześnie i nowe i stare url'e.

Wymyślałem coś w stylu:

RewriteEngine on

RewriteCond %{QUERY_STRING} ^/~([^/].+)/(.+)
RewriteRule .* http://%1\.serwer\.pl/%2 [R,L]

RewriteCond %{HTTP_HOST} ^(www)?\.?(.+)\.serwer\.pl
RewriteRule ^/(.+)$ /usr/home/_www/%2/$1 [L]


no i nie dziala mi to sad.gif - mowie o url'u np: http://serwer.pl/~wojtek/index.html, ktor powinie byc przekierowany na http://wojtek.serwer.pl/index.html

help...
smile.gif

pozdrawiam


--------------------
Pozdrawiam
Łukasz Wojciechowski
New Generation Software
+48 602 214 629
http://www.ngsoft.pl
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
bendi
post
Post #2





Grupa: Zarejestrowani
Postów: 401
Pomógł: 5
Dołączył: 14.09.2003
Skąd: Wrocław

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


Moim zdaniem ten zewnetrzny redirect wystarczy, jezeli ktos ma na stronie linki w starym stylu to regulka zadba o to aby strona sie wyswietlala pod nowym adresem, a jezeli ktos nie ma to komu potrzebne przepisywanie- bedzie dzialac i git. Dlatego proponuje pozostawienie tylko pierwszej regulki.
Kod
RewriteEngine on

#w odroznieniu od isapi_rewrite pod iis'em tylko pierwsza czesc regulek w mod_rewrite
#pozwala na uzycie wyrazen regularnych - druga to zwykly tekst
RewriteRule ^/~(.*?)/(.+) http://$1.serwer.pl/$2 [R,L]
#nie jestem pewien co do tego ukosnika na poczatku, wiec jak nie zadziaal
#sprawdz to:
#RewriteRule ^~(.*?)/(.+) http://$1.serwer.pl/$2 [R,L]


Druga regulka proboje odtworzyc dzialanie subomeny na danym katalogu, ale to nie tedy droga, bo mod_rewrite dziala na http a nie na plikach lokalnie na dysku, wiec jedyne co mozesz to zrobic to przepisac jeden adres na drugi adres.

Ten post edytował bendi 4.03.2005, 15:36:06


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 19:50