Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> htaccess - problem z linkami
deha21
post
Post #1





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

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


Witam,
Właśnie przed chwilą zrozumiałem o co w tym wszystkim chodzi (IMG:style_emoticons/default/winksmiley.jpg) Mam taki kod:
Kod
RewriteEngine On
Options +FollowSymlinks
RewriteRule /news/([0-9]+).html /news.php?id=$1 [NC]


A więc zamiast news.php?id=11 tworzy mi się /news/11 . Problem w tym, że nie czyta wtedy CSSa. Przeczytałem na forum, że trzeba nową ścieżke do cssa ustawić czyli w moim przypadku:
  1. ../style.css
  2. zamiast
  3. style.css

Ok to działa - dziwi mnie dlaczego style czyta też w news.php?id=11 skoro tam jest inna ścieżka podana. No ale ok to w sumie lepiej (IMG:style_emoticons/default/winksmiley.jpg)
Problem jest taki, że mam też plik łączenia się z bazą danych ale zmieniłem go na takiej samej zasadzie jak w stylach, czyli:
[html]../config.php[/php]
Niestety nie działa :/ Wyskakuje komunikat, że nie wykrywa tego pliku. Czemu tak?

I jeszcze jedna rzecz. Chcę zrobić żeby pokazywało /news/11,tytul-newsa-jakiegos.html . Jak przekazać tytul newsa to htaccess?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
ShadowD
post
Post #2





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


Ścieszki podawaj dokładne, bez ../ a np http://www.xxx.pl/style.css. Htaccesy nie mają nic do php, kod zostaje bez zmian zmieniają się jedynie ścieżki css, js, obrazków itp.

Możesz dodać coś takiego:
RewriteRule /news/([0-9]+),.*.html /news.php?id=$1 [NC]
Go to the top of the page
+Quote Post
deha21
post
Post #3





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

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


Cytat(ShadowD @ 25.01.2010, 16:38:34 ) *
RewriteRule /news/([0-9]+),.*.html /news.php?id=$1 [NC]

Aha i to będzie działać tak, że wszystko po ID newsa może być dowolnym ciągnie i tak na prawdę nie wpływa na nic? W sumie dobre rozwiązanie (IMG:style_emoticons/default/winksmiley.jpg)

Właśnie wypróbowałem dawanie bezwzględnych ścieżek. Na style działa, na plik z bazą nie:
  1. require("http://www.strona.pl/konf.php"); // linia 34
  2. //taki błąd wyświetla
  3. Warning: require() [function.require]: URL file-access is disabled in the server configuration in /home/blabla/blabla/index.php on line 34


I jeszcze pytanie, czy da się na szybko zrobić tak żeby z tytułu newsa usuwało polskie znaki. Wiem, że można to zrobić przez strtr ale czy nie ma czegoś lepszego? Z tego co pamiętam ta funkcja wariowała przy zamianie literki Ó.

EDIT: Pomyślalem sobie, że mogę zrobić przecież /news,11,title-costam-blabla.html i zrobilem:
Kod
RewriteRule /news/([0-9]+),.*.html /news.php?id=$1 [NC]

Ale niestety nie działa. Błąd 404 :/
EDIT2: Rozwiązane, zrobilem bez pierwszego slasha (IMG:style_emoticons/default/winksmiley.jpg)

Ten post edytował deha21 25.01.2010, 22:19:29
Go to the top of the page
+Quote Post
ShadowD
post
Post #4





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


RewriteRule /news/([0-9]+),.*.html /news.php?id=$1 [NC]

To pasuje również do:
/news/12,qwhtml

Pomyśl dlaczego i postaraj się poprawić, teraz to nic prawie nie zmienia, ale w przyszłości może na coś wpłynąć.

W PHP musisz podawać normalne ścieżki, od pliku głównego (u Ciebie pewnie index.php), a w html najesz bezwzględne jak już nam tu pokazałeś!
Go to the top of the page
+Quote Post
deha21
post
Post #5





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

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


Cytat(ShadowD @ 25.01.2010, 23:53:22 ) *
W PHP musisz podawać normalne ścieżki, od pliku głównego (u Ciebie pewnie index.php), a w html najesz bezwzględne jak już nam tu pokazałeś!

Normalne czyli jakie? (IMG:style_emoticons/default/winksmiley.jpg)
Próbowałem:
http://www.strona.pl/konf.php
konf.php
.../konf.php
/home/server/blabla/moje konto/public_html/strona/konf.php

i nic z tego nie działało. Jest jeszcze jakaś opcja?

Póki co poprawiłem tak jak wcześniej pisałem i działa wszystko ładnie no ale jednak na przyszłość chciałbym się dowiedzieć jak to robić.
Go to the top of the page
+Quote Post
ShadowD
post
Post #6





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


Masz pliki:

[public]
--index.php
--sys.php
--style.css
[sys]
--mysql.php

Pliki css dodajesz po http://domena.pl/public/style.css, include w pliku index piszesz include('sys.php') i include('./sys/mysql.php').
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 23:41