Apache, rewrite + nowa domena wraz z poddomenami

Odpowiedz Nowy wątek
2011-09-02 09:29
0

Mam 2 stare domeny, które chce w jakiś szybki i sensowny sposób przekierowac na serwerze na nową. Jeśli ktoś wpisze starą to go przekieruje na nową z zachowanie przedrostka www czy pod domeny oraz właściwym url.

RewriteEngine on
 
RewriteCond %{HTTP_HOST} ^(.*\.)?(univ|ug)\.gda\.localhost$ [NC]
RewriteRule ^(.*) %{HTTP_HOST}$1 [C]
RewriteRule ^(.*\.)?(univ|ug)\.gda\.localhost(.*)? http://$1ug.edu.localhost/$3 [L,R=301]

Powyższy kod prawie działa. http://test.univ.gda.localhost/ przekierowuje do http://test.ug.edu.localhost/univgda/ z tym, że univgda/ jest zbędne i jest fizycznym katalogiem, gdzie jest zdefiniowany virtualhost w Apachu:

<VirtualHost 127.0.0.1:80>
    DocumentRoot D:/xampp/htdocs/ugedu
    ServerName ug.edu.localhost
    ServerAlias www.ug.edu.localhost
    ServerAlias *.ug.edu.localhost
</VirtualHost>
 
<VirtualHost 127.0.0.1:80>
    DocumentRoot D:/xampp/htdocs/univgda
    ServerName univ.gda.localhost
    ServerAlias www.univ.gda.localhost
    ServerAlias *.univ.gda.localhost
</VirtualHost>

Jakieś pomysły?

edytowany 2x, ostatnio: SebaZ, 2011-09-02 09:53

Pozostało 580 znaków

2011-09-02 10:30
0

Nie wiem co z czym się gryzło, ale użycie innej domeny niż localhost spowodowalo, że problem z doklejaniem fizycznego katalogu zniknął.

RewriteEngine on
 
RewriteCond %{HTTP_HOST} ^(.*\.)?(univ|ug)\.gda\.l$ [NC]
RewriteRule ^(.*) %{HTTP_HOST}$1 [C]
RewriteRule ^(.*\.)?(univ|ug)\.gda\.l(.*)? http://$1ug.edu.l/ [L,R=301]
<VirtualHost 127.0.0.1:80>
    DocumentRoot D:/xampp/htdocs/ugedu/
    ServerName ug.edu.l
    ServerAlias *.ug.edu.l
</VirtualHost>
 
<VirtualHost 127.0.0.1:80>
    DocumentRoot D:/xampp/htdocs/univgda/
    ServerName univ.gda.l
    ServerAlias *.univ.gda.l
</VirtualHost>

Pojawił się jednak kolejny, a mianowicie. Jak zmusić apache'a do przepisywania ścieżki do katalogów, np. http://test.univ.gda.l/kat1/kat2/?param=1 przerzuca na http://test.ug.edu.l/?param=1 czyli wycina nazwy katalogów. Co może być przyczyną?

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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