Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Access]Friendly url
doknes
post
Post #1





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 2.11.2014

Ostrzeżenie: (10%)
X----


Hej, od kilku minut bawie sie friendly url i mam na razie takie coś:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([^/]*)/([^/]*)$ /index.php?str=$1&user=$2 [L]


I ten kod w .htaccess powien teoretycznie sprawić, że zamiast linku:
http://www.maneku.pl/index.php?str=profil&user=Doknes

będzie działał normalnie link:
http://www.maneku.pl/profil/Doknes

Ale zamiast tego jest tam masa błędów, nie wczytuje sie css i inne...
Go to the top of the page
+Quote Post
Beniooo
post
Post #2





Grupa: Zarejestrowani
Postów: 260
Pomógł: 26
Dołączył: 26.01.2012
Skąd: Ci to przyszło do głowy?

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


Pamiętaj, że wtedy taki link przeglądarka traktuje jako katalog.
Podawaj absolutną ścieżkę do CSS, i innych.
Zamist np: css/style.css musisz podać np.: /var/www/html/css/style.css
Go to the top of the page
+Quote Post
Turson
post
Post #3





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


@Beniooo, taaa... Przeglądarka nie ma dostepu do katalogu niepublicznego, więc nie wczyta nic z /var/.

http://stackoverflow.com/questions/1330596...ith-mod-rewrite
Go to the top of the page
+Quote Post
Beniooo
post
Post #4





Grupa: Zarejestrowani
Postów: 260
Pomógł: 26
Dołączył: 26.01.2012
Skąd: Ci to przyszło do głowy?

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


Oj, pomyliłem się, sorki. @up ma rację. Wystarczy / przed ścieżką ;-)
Go to the top of the page
+Quote Post
doknes
post
Post #5





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 2.11.2014

Ostrzeżenie: (10%)
X----


No a co z require z php?
Bo w każdej klasie mam require("menu.php");
To nie działa :/
Go to the top of the page
+Quote Post
Beniooo
post
Post #6





Grupa: Zarejestrowani
Postów: 260
Pomógł: 26
Dołączył: 26.01.2012
Skąd: Ci to przyszło do głowy?

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


No, i o PHP własnie myślałem pisząc swój poprzedni post.
Możesz sobie zdefiniować stałą HOME_DIR zawierającą pełną ścieżkę do katalogu głównego np.: /home/user/domains/example.com/public_html/ i dawać:
  1. require HOME_DIR.'menu.php';


Ten post edytował Beniooo 6.04.2015, 16:31:54
Go to the top of the page
+Quote Post
doknes
post
Post #7





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 2.11.2014

Ostrzeżenie: (10%)
X----


Pobrałem sobie najwcześniejszą ścieżke dzięki
realpath(dirname(__FILE__));
i co teraz z tym zrobić na przykładzie:
  1. <style>@import url('css/dark-style.css')</style>

Bo jak dawałem po prostu

  1. $real = realpath(dirname(__FILE__));
  2. echo "<style>@import url($real'css/dark-style.css')</style>";


To mi nie działa :/
Go to the top of the page
+Quote Post
Turson
post
Post #8





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Jak już napisałem, przeglądarka w przeciwieństwie do PHP nie ma dostępu do katalogów typu /etc/var/www/html/style.css ani C:/Program Files/xampp/public_html/style.css
Z obrazkami, js i css wystarczy zastosowac trik, że damy slash na początku
<style>@import url('/css/dark-style.css')</style>
albo z adresem strony
<style>@import url('http://moja-strona.pl/css/dark-style.css')</style>
Go to the top of the page
+Quote Post
doknes
post
Post #9





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 2.11.2014

Ostrzeżenie: (10%)
X----


to w takim razie jak zdobyć wcześniejsze katalogi? żeby dało sie użyć poprawnie require
Go to the top of the page
+Quote Post
com
post
Post #10





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


  1. $real = realpath(dirname(__FILE__));
  2. echo "<style>@import url($real.'css/dark-style.css')</style>";

Jak już to tak (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
robertpiaty
post
Post #11





Grupa: Zarejestrowani
Postów: 113
Pomógł: 18
Dołączył: 7.10.2007
Skąd: Pruszków

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


Skrypt PHP ma dostęp do wcześniejszych katalogów (o ile pozwalają na to uprawnienia itp). Natomiast przeglądarka może tylko uruchamiać pliki w folderze publicznym na który wskazuje domena oraz inne pliki w folderach znajdujących się w tym folderze. Było by to bardzo niebezpieczne gdyby z poziomu przeglądarki można było przeglądać sobie wcześniejsze foldery. Dla tego jako ścieżkę do CSS w HTMLu podajesz ścieżkę od folderu na który wskazuje domena.

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: 23.08.2025 - 23:15