Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [inne] Problem z htaccess, ustawienie / na końcu - przyjazne linki
d.stp
post
Post #1





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

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


Witam,

mam taki htaccess:

Kod
Options FollowSymLinks
RewriteEngine On
DirectoryIndex index.php
RewriteBase /
RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule ^([^,]*)/([^,]*)/([^,]*).html$ index.php?page=$1&cat=$2&id=$3 [L]
RewriteRule ^([^,]*)/([^,]*)?/$ index.php?page=$1&cat=$2 [L]
RewriteRule ^(.*)?/$ index.php?page=$1
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]


i ładnie działa, ale chciałbym zrobić, że na końcu nie musi być "/". Wygooglowałem że trzeba dać pytajnik za slashem, ale jak zmienię to:

Kod
RewriteRule ^(.*)?/$ index.php?page=$1


na to:

Kod
RewriteRule ^(.*)/?$ index.php?page=$1


to nie ładuje mi styli. Mam ustawiony base href odpowiednio, ale nie pomaga. Czy tylko zmiana na linki bezpośrednie może pomóc ?

Ten post edytował d.stp 29.01.2014, 11:18:44
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Dodaj warunek, ktrory wyklucza istniejace pliki i katalogi. Pewnie style ci sie lapią na to co teraz masz.
Go to the top of the page
+Quote Post
d.stp
post
Post #3





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

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


O to chodziło?

Kod
Options FollowSymLinks
RewriteEngine On
DirectoryIndex index.php
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule ^([^,]*)/([^,]*)/([^,]*).html$ index.php?page=$1&cat=$2&id=$3 [L]
RewriteRule ^([^,]*)/([^,]*)/?$ index.php?page=$1&cat=$2 [L]
RewriteRule ^(.*)/?$ index.php?page=$1
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]


Niestety dalej to samo. Po wpisaniu urla xxx.pl/xxx lub xxx.pl/xxx/ nie ładuje w ogóle odpowiedniej podstrony, tak jakby w ogóle nie działało.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Tak, o to chodzilo.

Jak dalej to samo? Wczesniej pisales ze nie laduje ci styli, z teraz piszesz, ze nie laduje calej strony. Zdecyduj sie, ustal jedną wersje zdarzen bysmy wiedzieli na czym stoimi
Go to the top of the page
+Quote Post
d.stp
post
Post #5





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

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


Od początku nie ładowało odpowiedniej podstrony i styli. Czyli jak wchodzę na xxx.pl/xxx to mam główną + brak styli. Jak wchodzę na główna xxx.pl to brak styli. Aha i nie ładuje jeszcze obrazków.

Ten post edytował d.stp 29.01.2014, 11:42:14
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Ja tam zawsze robie tak:
Options +FollowSymlinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule (.*) index.php/page=$1 [L]

I jakos zawsze dziala. Przestan sie zajmowac tym / i po sprawie
A jesli i moja poprawka ci nie dziala, to pewnie inne twoje regulki psuja wszystko. Zacznij od mojej dokladnej wersji, a potem dodawaj sobie pokolei swoje
Go to the top of the page
+Quote Post
d.stp
post
Post #7





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

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


No to bardzo dziwne, bo dałem takie coś:

Kod
Options +FollowSymlinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/?$ index.php?page=$1


I teraz style i obrazki ładują się odpowiednio, ale po wejściu w url.pl/podstrona/ nie ładuje się podstrona. Jak wejdę na url.pl/podstrona to działa - podstrona, style i obrazki się ładują. Co może być nie tak ?

Ten post edytował d.stp 29.01.2014, 11:57:41
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No bo masz / na koncu. W php odbierajac PAGE musisz pozbyc sie tego /. TO chyba oczywiste (IMG:style_emoticons/default/smile.gif)
Uzyj trim() ze znakiem /

No i pisalem:
Nie: ^(.*)/?$
a: ^(.*)$
Ja naprawde po chinsku pisze?
Go to the top of the page
+Quote Post
d.stp
post
Post #9





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

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


... dzięki (IMG:style_emoticons/default/biggrin.gif) (IMG:style_emoticons/default/biggrin.gif) (IMG:style_emoticons/default/biggrin.gif)

a jednak nie...

Kod
Options +FollowSymlinks
RewriteEngine On

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


Teraz po wejściu w podstronę nie ładuje styli i obrazków i podstrony...

Ten post edytował d.stp 29.01.2014, 12:04:33
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Bo sciezki do styli i obrazkow nalezy podawac pelne a nie uproszczone.

nie: styl.css
a: http://mojastrona.pl/styl.css

Wowczas wszystko smiga bez problemow
Go to the top of the page
+Quote Post
d.stp
post
Post #11





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

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


Ale cuda na tej mojej stronie się dzieją...

Po wklepaniu w przeglądarkę adresu linkdomojejstrony.pl/style.css wyświetla mi się strona główna. Link do styli na pewno jest dobry... oczywiście w kodzie podmieniłem te linki co mówiłeś na bezpośrednie, ale dalej nie działa dlatego wklepałem bezpośredni link do przeglądarki żeby upewnić się, że wyświetli się plik ze stylami no i kaszanka, pokazuje się główna.

htaccess aktualny:

Kod
Options +FollowSymlinks
RewriteEngine On

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


Ten post edytował d.stp 29.01.2014, 12:23:13
Go to the top of the page
+Quote Post
nospor
post
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Jestes absolutnie pewien ze podales poprawny link do stylu w bezposrednio w przegladarce?
Jesli tak, to wywal htaccess i wklep jeszcze raz ten sam link. Jak sie wyswietli, to faktycznie w 100% poprawny (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
d.stp
post
Post #13





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

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


Tak, na 100% poprawny. Zrobiłem tak za nim przeczytałem to co napisałeś. Po usunięciu htaccess i wklepaniu tego linku do styli ładuje się ok.
Go to the top of the page
+Quote Post
nospor
post
Post #14





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Czyli podstrony sie laduja ale nie laduje sie style i obrazki?
A nie masz przypadkiem na stronie ustawionego baseurl lub cos podobnego?

A wez dla testu uzyj dokladnie takiego htaccess

Options +FollowSymlinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?page=$1

dokladnie
Go to the top of the page
+Quote Post
d.stp
post
Post #15





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

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


Mam ustawione base href (<base href="url" /> ) ale to na 100% nie przez to, bo te twoje htaccess co dałeś wyżej działa elegancko. Wszystko się ładuje odpowiednio, działa z / i bez. Nawet nie muszę podawać bezpośredniego adresu do styli i obrazków.

Tylko teraz jest problem bo jak dodam:

Kod
RewriteRule ^([^,]*)/([^,]*)$ index.php?page=$1&cat=$2 [L]


Całość:

Kod
Options +FollowSymlinks
RewriteEngine On

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


to już nie działa. Na stronie głównej brak styli, obrazków. Podstrony nie ładują się w ogóle (wyśw. się główna) + brak styli i obrazków.
Go to the top of the page
+Quote Post
nospor
post
Post #16





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Wydaje mi sie, ze to powinno wygladac mniej wiecej tak:


RewriteRule ^([^/]+)/([^/]+)$ index.php?page=$1&cat=$2 [L]
Go to the top of the page
+Quote Post
d.stp
post
Post #17





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

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


Dalej to samo (IMG:style_emoticons/default/sad.gif)

Chociaż nie... teraz ładuje podstrony ale nie ładuje styli i obrazków. Adresy są bezpośrednie... Po wejściu w adres styli wyświetla się główna...

Ten post edytował d.stp 29.01.2014, 13:04:27
Go to the top of the page
+Quote Post
nospor
post
Post #18





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




jakos z tych regulek nigdy nie bylem mocny i kurcze nie widze tu bledu....

A sprobuj to rozbic:

Options +FollowSymlinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)$ index.php?page=$1&cat=$2 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?page=$1 [L]

lub tak:

Options +FollowSymlinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ index.php?page=$1 [L]


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)$ index.php?page=$1&cat=$2 [L]

Go to the top of the page
+Quote Post
d.stp
post
Post #19





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

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


Oba podane przez ciebie sposoby działają, ale nie wydaje mi się to najlepszym rozwiązaniem (IMG:style_emoticons/default/biggrin.gif) czegoś takiego jeszcze nie widziałem (IMG:style_emoticons/default/wink.gif) chyba przesiądę się na przyjazne linki po stronie php bo z tym htaccess zawsze są jakieś problemy :/
Go to the top of the page
+Quote Post
nospor
post
Post #20





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Dzialają? Call me masta (IMG:style_emoticons/default/biggrin.gif)

Zas co do php, to tak, ja juz dawno sie przesiadlem na php, bo niestety przy powazniejszych rzeczach to albo jest kupa roboty w htaccess albo wrecz nie da sie tego zrobic jak trzeba
Go to the top of the page
+Quote Post
d.stp
post
Post #21





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

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


Taa, jest ok wszystko. Style, obrazki i podstrony odpowiednio się ładują. Nawet nie trzeba podawać bezpośredniego linku dzięki base href. Na szczęście to bardzo mała strona i takie rozwiązanie mi wystarczy (IMG:style_emoticons/default/biggrin.gif) (IMG:style_emoticons/default/biggrin.gif)

Dzięki za pomoc
Go to the top of the page
+Quote Post
nospor
post
Post #22





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Nawet nie trzeba podawać bezpośredniego linku dzięki base href
Do tego base href lepiej sie nie przyzwyczajaj i lepiej go usun i przerzuc sie na pelne adresy. Pamietam ze z jakiegos dosc powaznego powodu ja wlasnie zrezygnowalem z base href bo w pewnym momencie mialem z nim tylko same problemy. Niestety nie pamietam o co chodzilo (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
d.stp
post
Post #23





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

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


No i chyba następny błąd pewnie z tym związany dlatego nie zakładam nowego tematu (IMG:style_emoticons/default/biggrin.gif)

Mam link: http://url.pl/cos/hash

Po wejściu w ten link chcę zapamiętać hash i przekierować do innej podstrony czyli:

$_SESSION['hash'] = $_GET['hash'];
header("Location: http://url.pl/podstrona")

i na podstronie chcę wyświetlić ten hash:

echo $_SESSION['hash'] i pustka. var dump też cisza. session_start() jest
Go to the top of the page
+Quote Post
Turson
post
Post #24





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

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


Rozumiem, że masz index.php?cos=hash zamienione na przyjazny link, więc w cos.php pobierasz parametr $_GET['cos'] i zapisujesz w sesji.
Go to the top of the page
+Quote Post
d.stp
post
Post #25





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

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


Dobra, działa. Dzięki
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 20.09.2025 - 10:34