Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne]Problem z .htaccess
Forum PHP.pl > Forum > Przedszkole
adi456
Witam z tego co się doczytałem żeby zrobić ładne linki należy w pliku .htaccess zmienić:

mój link wygląda tak:

http://mojadomena.pl/?id=ofirmie

i wpis w plik wygląda tak:
RewriteEngine on
RewriteRule ([^-]+).html$?id=$1

tylko problem jest taki że gdy wgram .htaccess na serwer wtedy nie wchodzi na strone

treść komunikatu:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, postmaster@domena.pl and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.


dużo kombinowałem i nic nie pomogło, nie mam żadnych pustych linijek w pliku, serwer w OVH, proszę o pomoc
PanGuzol
Spróbuj dać spację po html$ oraz index.php przed ?id=$1
adi456
gdy zrobię spacje błąd nie wyskakuje ale linki nie działają,

jak wpisuje http://mojadomena.pl/ofirmie wyskakuje "404 Not Found"
thek
A jak ma działać, skoro w regule jest na pałę napisane, że pliki MUSZĄ mieć rozszerzenie html?
Tak więc jedyne przekierowanie będzie gdy dasz w linku ofirmie.html
Ale zwróć uwagę, że nie mówisz JAKI plik obsłuży to z parametrem ?id=ofirmie
Weź wiec trochę pomyśl zanim zaczniesz pisać na szybko, bo potem nie wiesz gdzie i co kierujesz w htaccessie.
adi456
czyli rozumiem że mam zrobić tak:

RewriteEngine on
RewriteRule ([^-]+).php$index.php?id=$1

wywala ten sam błąd

RewriteRule ([^-]+).php$ index.php ?id=$1

też wywala ten sam błąd
thek
Napiszę jeszcze raz... skoro podajesz link bez ŻADNEGO rozszerzenia to po jaką cholerę w regule piszesz albo .html, albo .php? sciana.gif Chcesz przepisać cały link na przekierowanie do indexu? Prędzej coś w stylu...
RewriteRule .* index.php?id=$0 [PT,L]

Myśl co piszesz zanim zaczniesz pisać, bo ja nie wiem jakim cudem
ofirmie
pasuje Ci do wzorca
(.*).php lub (.*).html

Czy podany przez Ciebie link kończy się na .html lub .php ? Nie? To czemu się dziwisz, że nie działa?
adi456
thek, wiem że to co pisze może być dla Ciebie śmieszne, ale dla mnie to wcale nie jest takie łatwe więc prosił bym żebyś pisał bardziej zrozumiale, jest to przedszkole więc chyba mogę na to liczyć?

jak już pisałem wcześniej

z tego: http://mojadomena.pl/?id=ofirmie

chce mieć http://mojadomena.pl/ofirmie.html

z tego co wyczytałem do tej pory
http://internetmaker.pl/artykul/3533,4,hta...serwerem_apache
wydawało mi się że trzeba wstawić w .htaccess

RewriteEngine on
RewriteRule ([^-]+).html$index.php?id=$1

ale twoje wypowiedzi odwracają mój świat o 180 stopni

Fifi209
RewriteEngine On
RewriteRule ^(.*?).html$ index.php?id=$1 [L]

Powinno śmigać.
adi456
dziękuje fifi209, odkryłem mój problem

zacytuje moją wcześniejszą wypowiedź "jak wpisuje http://mojadomena.pl/ofirmie wyskakuje "404 Not Found" "

wystarczyło mnie tylko poprawić na http://mojadomena.pl/ofirmie.html
thek
Bo i piszesz raz tak, a raz tak. W pierwszych postach piszesz, że ma być http://mojadomena.pl/ofirmie a w następnym już mowa o http://mojadomena.pl/ofirmie.html zaś pisanie regułek, gdzie raz jest RewriteRule ([^-]+).html$ a raz RewriteRule ([^-]+).php$ tym bardziej bajzel powoduje w zrozumieniu o co Ci chodzi.

O ile regułka fifi zadziała dla ofirmie.html, (czyli przypadek 2) to już ofirmie położy htaccess bo w regułce powinno ono wtedy zniknąć. Teraz już wiesz czemu w moich regułkach brak było rozszerzeń? Bo wziąłem pod uwagę, że chcesz konwertować linki bez nich.
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.