Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: .htaccess - moje pierwsze próby
Forum PHP.pl > Forum > Przedszkole
isia
Witam

Poczytałam trochę na temat mod_rewrite i postanowiłam u siebie (mam KRASNALA) uruchomić jakiś pierwszy przykład.

Zatem w pliku .htacces wpisałam:
//////////
RewriteEngine on
RewriteRule ^old.html$ new.html
//////////

U katalogu stworzyłam prosty dokument old.html tam też umieściłam plik .htaccess
i otrzymałam taki komunikat:

--------------------------------------
Bad Request
Your browser sent a request that this server could not understand.
Invalid URI in request GET /~rozne_skrypty/old.html HTTP/1.1
Apache/1.3.31 Server at 127.0.0.1 Port 80
-------------------------------------

proszę o pomoc. Może coś nie tak z moim Apache ?
Chciałabym w przyszłości zastąpić na mojej stronie linki:
http://moja-strona.pl/intro.php?id=3487&op=0102
na
http://moja-strona.pl/intro/3487/0102
Ale na razie prosty przykład nie chce mi zadziałać.

pozdrawiam
isia
b0b3k
Ten plik powinien się nazywać .htaccess a nie .htacces.

Mój przyjładowy plik, który działa na moim krasnalu :

  1. Options FollowSymLinks
  2. RewriteEngine On
  3. RewriteRule ^strona/([^-]+)$ ./index.php?page=$1 [L]


localhost/strona/1 -> localhost/index.php?page=1
isia
tak rzeczywiście .htaccess
Napisałam wcześniej co innego ale teraz poprawiam bo po próbach mam takie doświadczenia:
Napisałam:

  1. Options FollowSymLinks
  2. RewriteEngine On
  3. RewriteRule ^index/([a-z]+)$ /~test/index/$1/ [R]
  4. RewriteRule ^index/([a-z]+)/$ /index.php?op=$1

gdzie ~test to folder mojej stronki www w KRASNALU bo inaczej wogóle wywala informacje, że nie ma takiej stronki.

i teraz wywołuje link:
  1. index/zgr

pierwotnie było:
  1. index.php?op=zgr

Przekierowanie przenosi mnie na stronę KRASNALA
I co mam zrobić - nic z tego nie rozumiem.
Przeczytałam artykuł i dalej nic z tego nie wiem.

A tak wogóle to mam jeszcze takie linki:
  1. index.php?op=fotogalerie&pop=2006xlbmm1.img4

i zupełnie nie wiem jak sobie z nimi poradzę.

błagam niech mi ktoś pomoże bo już cały dzień nad tym siedzę i nawet nie ruszyłam
isia

dalej - może tak napiszę - to będzie łatwiej pomóc:

mam tak:

index.php
index.php?op=zg
index.php?op=zg&pop=01
index.php?op=tx&pop=s&t=tab#chmiel
index.php?op=tx&pop=sa/01-001 (questionmark.gif? i tu zupełnie nie wiem)
index.php?op=ba&pop=ins&fi=3
index.php?op=do&t=tab1
index.php?op=fotogalerie&pop=2006xlbmm1.img4
index.php?wsk=list&op=info&fi=kz
index.php?wsk=list&op=info&fi=kz&pop=2005

może ktoś coś zaproponuje.
Zmiana filozofii nie wchodzi w grę bo musiałabym całe sterowanie serwisem zmienić.
Może uda się to zdefiniować w .htaccess

isia
free
Isia spróbuj tak jak ci przedmówca napisał :
  1. RewriteRule ^strona/([^-]+)$ ./index.php?page=$1 [L]

Czyli zamiast ([a-z]+) ==>> ([^-]+)
isia
Zatem zrobiłam tak:

  1. RewriteRule ^index/([^-]+)$ ./index.php?op=$1 [L]


wynik:
prosty link: index.php?op=zgr
do którego odwołuje się: /index/zgr/
(szkoda, że się nie da: index/zgr)

i ląduję na stronie KRASNALA
http://localhost/index/zgr/
zamiast na stronie
http://localhost/~test/index/zgr/
Już nie wspomnę, że na stronie krasnala nie wyświetlają się gify i jpg.

sad.gif
free
Tez korzystam z Krasnala. Z tego co wiem to zawsze musisz po localhosicie dac TYLDĘ / ~ /
czyli 127.0.0.1/~test/index/zgr
Nie mozesz uzyc http://localhost/index/zgr/ muszisz dac ~
isia
Jestem kompletnie załamana.
- daję tyldę i dalej ląduje na stronie krasnala - mimo iż u góry w adresie wyświetla:

  1. http://localhost/~test/index/zgr/


Czy to jest takie trudne czy ja jestem taka głupią.

Nigdzie nie mogę znaleźć jakiegoś sensownego przykładu.
Czy nikt nie może mi napisać na podstawie tych linków, które podałam wyżej jakiegoś przykładu, który by zadziałał.

sadsmiley02.gif sadsmiley02.gif sadsmiley02.gif
ARJ
a że się tak zapytam: w apachu włączony jest mod_rewrite?
qlash
Dodaj RewriteBase /~katalog/

np.



  1. RewriteEngine On
  2. RewriteBase /~test/
  3. RewriteRule .......


ew. zmien flage [L] na [R] wtedy w przegladarce pokaze Ci sie link na ktory mod_rewrite Cie przekierowuje, bedziesz widziala czy cos jest zle z linkiem.
isia
Cytat(ARJ @ 29.09.2006, 23:32:34 ) *
a że się tak zapytam: w apachu włączony jest mod_rewrite?

O kurcze nie sprawdziłam...
...
jest tak:
  1. LoadModule rewrite_module modules/mod_rewrite.so


a wcześniej tak:
  1. #AddModule mod_rewrite.c


to co jest włączony czy nie jest?

mam wersję: Apache/1.3.31 (Win32) i php/5.0.2

No to teraz mam pytanie - co mam zrobić żeby go włączyć. Jak zlikwiduję hash to mi powiedział, że takiego modułu nie posiada.

Znalazłam na forum u Pabla przykład. Pablo napisał, że standardowo mod_rewrite jest włączone.
Przykład Pabla zadziałał.

  1. Options FollowSymLinks
  2. RewriteEngine On
  3. RewriteCond %{REQUEST_URI} \/index.html$
  4. RewriteRule ^(.*) /~test/


ale zastosowany u mnie w konfiguracji:

  1. /~test/zgr/index.html


która powinna wywołać zasoby:

  1. index.php?op=zgr


powoduje, że cały czas ładuje się strona główna.

I dalej drepczę w miejscu.
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.