Jakub Słowiak

Jakub Słowiak Kierownik produkcji,
Fideltronik

Temat: .htaccess

Witam,

Przeszukałem sieć, ale pomimo wskazówek mam problem.
Chciałby uzyskać następujący efekt (chyba poprzez ustawienia w .htaccess)
(serwer localhost )
1)
jak wpisuje adres: http://localhost/strona/ to pojawia mi się moja strona
jak wpiszę adres: http://localhost/strona/dowolny_link.php to użytkownik powinien zostać przekierowany do strony głównej czyli http://localhost/Szkolenia/index.php

2) czy da się jakoś zrobić aby niezależnie od klikniętych odnośników, w przeglądarce zawsze był jeden ten sam link http://localhost/strona/
(problem 2 rozwiązany dzięki Tomaszowi)

Pozdr,
KubaJakub Słowiak edytował(a) ten post dnia 01.10.10 o godzinie 15:33
Tomasz Zadora

Tomasz Zadora programuję

Temat: .htaccess

Jakub Słowiak:
Witam,
[...]
2) czy da się jakoś zrobić aby niezależnie od klikniętych odnośników, w przeglądarce zawsze był jeden ten sam link http://localhost/strona/

Tak... np. strona zrobiona na ramkach, z tym, że pod względem pozycjonowania (jeżeli o to chodzi) to niewiele da. Wyjście numer dwa - AJAX.Tomasz Zadora edytował(a) ten post dnia 01.10.10 o godzinie 15:27
Jakub L.

Jakub L. Programista

Temat: .htaccess

A jaki masz serwer?
Jak Apache, to mod_rewrite.

konto usunięte

Temat: .htaccess

Jakub L.:
A jaki masz serwer?
Jak Apache, to mod_rewrite.

Widziałeś .htaccess w ISS?

Add. 1)
Tego tak łatwo nie rozwiążesz, musiałbyś do każdego linka dopisywać odpowiednie regułki. Jeżeli chciałbyś by wskazywały w inne miejsce, poza tym link musiałby być tym innym miejscem niżeli plik w który miałby jegomość klikać. Mam nadzieje że nie pomieszałem.

Z wyrazami szacunku,
Przemysław Czekaj.

@Edit no IIS ;xPrzemek Czekaj edytował(a) ten post dnia 01.10.10 o godzinie 20:55

konto usunięte

Temat: .htaccess

Przemek Czekaj:
Jakub L.:
A jaki masz serwer?
Jak Apache, to mod_rewrite.

Widziałeś .htaccess w ISS?

stary na tej stacji kosmicznej mają kosmiczne pliki .ktaccess :), pewnie masz na myśli IIS

a tak wracając do tematu -> http://learn.iis.net/page.aspx/557/translate-htaccess-...

konto usunięte

Temat: .htaccess

Jakub Słowiak:
1)
jak wpisuje adres: http://localhost/strona/ to pojawia mi się moja strona
jak wpiszę adres: http://localhost/strona/dowolny_link.php to użytkownik powinien zostać przekierowany do strony głównej czyli http://localhost/Szkolenia/index.php

Coś takiego powinno załatwić sprawę:


RewriteCond %{HTTP_HOST} ^localhost$
RewriteCond %{REQUEST_URI} !strona
RewriteRule .* http://localhost/Szkolenia/index.php [NC,L]


Prawdopodobnie trzeba będzie dodać coś do warunku !strona. O ile się nie mylę, to teraz będzie łapało wszystko, co zawiera wyraz strona.

edit
Powyższy sposób zadziała w Apache. Jeśli korzystasz z innego serwera, regułki mogą nieco się zmienić.Maciej Wilgucki edytował(a) ten post dnia 01.10.10 o godzinie 20:14
Jakub L.

Jakub L. Programista

Temat: .htaccess

Przemek Czekaj:
Jakub L.:
A jaki masz serwer?
Jak Apache, to mod_rewrite.

Widziałeś .htaccess w ISS?

W IIS może i nie, ale Apache wyznacza częściowo self made standard, więc istnieją serwery które się do tego stosują. Sprawdź w takiej na przykład wiki.
No i powyżej masz zapodane te regułki dla owego każdego pliku.

konto usunięte

Temat: .htaccess

Według mnie regułka mogłaby wyglądać tak:


RewriteRule ^localhost/strona/(*.)\.php$ http://%{HTTP_HOST}/Szkolenia/index.php [R=302,L]


Z wyrazami szacunku,
Przemysław Czekaj.Przemek Czekaj edytował(a) ten post dnia 02.10.10 o godzinie 08:55
Jakub Słowiak

Jakub Słowiak Kierownik produkcji,
Fideltronik

Temat: .htaccess

Hmm..

Rozwiązanie Maćka nic nie pomogło - tzn. nie widać żadnej różnicy. A kod Przemka wywala mi błąd: 500 Internal Server Error.

co do serwera:
Apache Version : 2.2.11
LoadModule rewrite_module modules/mod_rewrite.so ("bez #")
PHP Version : 5.2.8
MySQL Version :5.1.30

Struktura:
Główny katalog www
-katalog 1
-katalog 2
-katalog 3
-Szkolenia ( w nim umieszczam .htaccess)
-katalog 4

W opisie pomyliłem adresy: wszystko dotyczy katalogu "szkolenia", oczywiście jak robiłem próby to "strone" zamieniłem na "Szkolenia":

RewriteCond %{HTTP_HOST} ^localhost$
RewriteCond %{REQUEST_URI} !Szkolenia
RewriteRule .* http://localhost/Szkolenia/index.html [NC,L]

i podobnie:

RewriteRule ^localhost/Szkolenia/(*.)\.php$ http://%{HTTP_HOST}/Szkolenia/index.html [R=302,L]

Pozdr,
Kuba
Adam Bąk

Adam Bąk Programista

Temat: .htaccess

Moje rozwiązanie choć nie jestem tego pewny w 100 %, sprawdź...


RewriteCond %{SCRIPT_FILENAME} ^(\w+)(\w+)/?$
RewriteRule .* Szkolenia/index.php

konto usunięte

Temat: .htaccess

A dodałeś RewriteEngine On na początku pliku .htaccess?
Sprawdziłem regułę przed chwilę i wszystko działa.

Napisz dla jakiego adresu nie działa. Co mi się wydaje, że .htaccess jest nie w tym miejscu.

Następna dyskusja:

pytanie z .htaccess




Wyślij zaproszenie do