Thread View: pl.comp.lang.php
11 messages
11 total messages
Started by Roman Tyczka
Fri, 10 Aug 2018 11:58
przyjazne linki bez htaccess
Author: Roman Tyczka
Date: Fri, 10 Aug 2018 11:58
Date: Fri, 10 Aug 2018 11:58
17 lines
1067 bytes
1067 bytes
Witam, Czy jest sposób w PHP, żeby nie korzystając z mod rewrite uzyskać taki efekt, że wywołany adres np.: http://x.y.z/5c80155282f9dcb396909a03616 zostanie obsłużony jakby to było zawołanie: http://x.y.z/?param=5c80155282f9dcb396909a03616 czyli index.php i parametr w get? -- pozdrawiam Roman Tyczka
Re: przyjazne linki bez htaccess
Author: Borys Pogoreło
Date: Fri, 10 Aug 2018 21:10
Date: Fri, 10 Aug 2018 21:10
16 lines
1159 bytes
1159 bytes
Dnia Fri, 10 Aug 2018 13:58:31 +0200, Roman Tyczka napisał(a): > Czy jest sposób w PHP, żeby nie korzystając z mod rewrite uzyskać taki > efekt, że wywołany adres np.: > > http://x.y.z/5c80155282f9dcb396909a03616 Jedynie coś takiego: http://x.y.z/index.php/5c80155282f9dcb396909a03616 I parsowanie REQUEST_URI -- Borys Pogoreło borys(#)leszno,edu,pl
Re: przyjazne linki bez htaccess
Author: Roman Tyczka
Date: Thu, 06 Sep 2018 09:39
Date: Thu, 06 Sep 2018 09:39
53 lines
2375 bytes
2375 bytes
On Fri, 10 Aug 2018 23:10:06 +0200, Borys Pogoreło wrote:
> Dnia Fri, 10 Aug 2018 13:58:31 +0200, Roman Tyczka napisał(a):
>
>> Czy jest sposób w PHP, żeby nie korzystając z mod rewrite uzyskać taki
>> efekt, że wywołany adres np.:
>>
>> http://x.y.z/5c80155282f9dcb396909a03616
>
> Jedynie coś takiego:
>
> http://x.y.z/index.php/5c80155282f9dcb396909a03616
>
> I parsowanie REQUEST_URI
Ostatecznie użyłem mod rewrite i uzyskałem link typu:
http://x.y.z/5c80155282f9dcb396909a03616
i w skrypcie odczytuję REQUEST_URI.
Taki mam htaccess:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule (.*) /getfile.php?url=$1 [END]
Ale teraz mam problem, że np. bootstrap mi durnieje i tak osadzony plik
styli:
<link href="app/bootstrap/css/bootstrap.min.css" rel="stylesheet"
type="text/css">
się nie wczytuje a przeglądarka w logu sypie błędem:
Arkusz stylów https://x.y.z/app/bootstrap/css/bootstrap.min.css nie został
wczytany, ponieważ zawarta deklaracja typu MIME tego arkusza: „text/html”
nie jest zgodna z typem „text/css”
Co prawda komunikat wskazuje na typ pliku, ale wynika to chyba z tego, że
te ścieżki wszystkie są przez modrewrite przeorane i prowadzą do tego
głównego pliku, czy to przyczyna?
Co robię źle i jak z tego wybrnąć? Może plik htaccess mam błędny? Jak
zrobić, żeby pliki styli i inne były pomijane przy tym przekierowaniu
linka?
--
pozdrawiam
Roman Tyczka
Re: przyjazne linki bez htaccess
Author: Roman Tyczka
Date: Thu, 06 Sep 2018 10:05
Date: Thu, 06 Sep 2018 10:05
42 lines
2151 bytes
2151 bytes
On Thu, 6 Sep 2018 11:39:49 +0200, Roman Tyczka wrote:
> Ostatecznie użyłem mod rewrite i uzyskałem link typu:
>
> http://x.y.z/5c80155282f9dcb396909a03616
>
> i w skrypcie odczytuję REQUEST_URI.
>
> Taki mam htaccess:
>
> RewriteEngine On
> RewriteCond %{HTTPS} !=on
> RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
> RewriteRule (.*) /getfile.php?url=$1 [END]
>
>
> Ale teraz mam problem, że np. bootstrap mi durnieje i tak osadzony plik
> styli:
>
> <link href="app/bootstrap/css/bootstrap.min.css" rel="stylesheet"
> type="text/css">
>
> się nie wczytuje a przeglądarka w logu sypie błędem:
Diagnoza była poprawna, moja reguła wszystkie odnośniki puszczała w maliny
i plik css czy JS stawał się wewnętrznie plikiem html :-)
Jako, że szczęśliwie wszystkie pliki dodatkowe są zakopane w podkatalogu
/app to po dodaniu drugiej reguły problem zniknął:
RewriteRule (app/.*) /$1 [END]
RewriteRule (.*) /getfile.php?url=$1 [END]
Czy to poprawne rozwiązanie czy inaczej się to robi?
ps. gdyby pliki były na tym samym poziomie (w roocie) to musiałbym chyba
każdy plik osobną regułą chwytać, lub grupami czyli pliki css/JS/GIF/JPG
itd. Się zachciało przyjaznego linka ;-)
--
pozdrawiam
Roman Tyczka
Re: przyjazne linki bez htaccess
Author: Borys Pogoreło
Date: Thu, 06 Sep 2018 20:42
Date: Thu, 06 Sep 2018 20:42
12 lines
1168 bytes
1168 bytes
Dnia Thu, 6 Sep 2018 12:05:31 +0200, Roman Tyczka napisał(a): > RewriteRule (app/.*) /$1 [END] > RewriteRule (.*) /getfile.php?url=$1 [END] > > Czy to poprawne rozwiązanie czy inaczej się to robi? Wystarczy RewriteCond !-f -- Borys Pogoreło borys(#)leszno,edu,pl
Re: przyjazne linki bez htaccess
Author: Roman Tyczka
Date: Fri, 07 Sep 2018 06:36
Date: Fri, 07 Sep 2018 06:36
16 lines
1258 bytes
1258 bytes
On Thu, 6 Sep 2018 22:42:48 +0200, Borys Pogoreło wrote:
>> RewriteRule (app/.*) /$1 [END]
>> RewriteRule (.*) /getfile.php?url=$1 [END]
>>
>> Czy to poprawne rozwiązanie czy inaczej się to robi?
>
> Wystarczy RewriteCond !-f
Masz na myśli?
RewriteCond %{REQUEST_FILENAME} !-f
--
pozdrawiam
Roman Tyczka
Re: przyjazne linki bez htaccess
Author: Roman Tyczka
Date: Fri, 07 Sep 2018 08:40
Date: Fri, 07 Sep 2018 08:40
23 lines
1517 bytes
1517 bytes
On Fri, 7 Sep 2018 08:36:52 +0200, Roman Tyczka wrote:
>>> RewriteRule (app/.*) /$1 [END]
>>> RewriteRule (.*) /getfile.php?url=$1 [END]
>>>
>>> Czy to poprawne rozwiązanie czy inaczej się to robi?
>>
>> Wystarczy RewriteCond !-f
>
> Masz na myśli?
>
> RewriteCond %{REQUEST_FILENAME} !-f
Chyba nie bardzo, bo to generuje znowu problemy z plikami, chce je brać z
adresu np.:
https://x.y.z/5c80155282f9dcb396909a03616/app/bootstrap/css/bootstrap.min.css"
czyli dodaje "przyjazny" link do adresu.
--
pozdrawiam
Roman Tyczka
Re: przyjazne linki bez htaccess
Author: rePeter
Date: Fri, 07 Sep 2018 09:08
Date: Fri, 07 Sep 2018 09:08
51 lines
3682 bytes
3682 bytes
Thu, 6 Sep 2018 12:05:31 +0200
Roman Tyczka <noemail@because.no> napisał(a):
> On Thu, 6 Sep 2018 11:39:49 +0200, Roman Tyczka wrote:
>
> > Ostatecznie użyłem mod rewrite i uzyskałem link typu:
> >
> > http://x.y.z/5c80155282f9dcb396909a03616
> >
> > i w skrypcie odczytuję REQUEST_URI.
> >
> > Taki mam htaccess:
> >
> > RewriteEngine On
> > RewriteCond %{HTTPS} !=on
> > RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
> > RewriteRule (.*) /getfile.php?url=$1 [END]
> >
> >
> > Ale teraz mam problem, że np. bootstrap mi durnieje i tak osadzony plik
> > styli:
> >
> > <link href="app/bootstrap/css/bootstrap.min.css" rel="stylesheet"
> > type="text/css">
> >
> > się nie wczytuje a przeglądarka w logu sypie błędem:
>
> Diagnoza była poprawna, moja reguła wszystkie odnośniki puszczała w maliny
> i plik css czy JS stawał się wewnętrznie plikiem html :-)
>
> Jako, że szczęśliwie wszystkie pliki dodatkowe są zakopane w podkatalogu
> /app to po dodaniu drugiej reguły problem zniknął:
>
> RewriteRule (app/.*) /$1 [END]
> RewriteRule (.*) /getfile.php?url=$1 [END]
>
> Czy to poprawne rozwiązanie czy inaczej się to robi?
>
> ps. gdyby pliki były na tym samym poziomie (w roocie) to musiałbym chyba
> każdy plik osobną regułą chwytać, lub grupami czyli pliki css/JS/GIF/JPG
> itd. Się zachciało przyjaznego linka ;-)
>
można
RewriteCond %{REQUEST_URI} !\.(css|js|gif|jpe?g|png|ico|pdf)$
RewriteRule (.*) /getfile.php?url=$1
albo w przypadku większej złożoności reguł wykorzystać skok.
--
pozdrawiam, Peter
Re: przyjazne linki bez htaccess
Author: Borys Pogoreło
Date: Fri, 07 Sep 2018 11:03
Date: Fri, 07 Sep 2018 11:03
11 lines
1292 bytes
1292 bytes
Dnia Fri, 7 Sep 2018 10:40:29 +0200, Roman Tyczka napisał(a): > https://x.y.z/5c80155282f9dcb396909a03616/app/bootstrap/css/bootstrap.min.css" > > czyli dodaje "przyjazny" link do adresu. Fakt. No to najlepiej tak jak rePeter zaproponował. -- Borys Pogoreło borys(#)leszno,edu,pl
Re: przyjazne linki bez htaccess
Author: Roman Tyczka
Date: Fri, 07 Sep 2018 11:15
Date: Fri, 07 Sep 2018 11:15
30 lines
1957 bytes
1957 bytes
On Fri, 7 Sep 2018 11:08:27 +0200, rePeter wrote:
>> Jako, że szczęśliwie wszystkie pliki dodatkowe są zakopane w podkatalogu
>> /app to po dodaniu drugiej reguły problem zniknął:
>>
>> RewriteRule (app/.*) /$1 [END]
>> RewriteRule (.*) /getfile.php?url=$1 [END]
>>
>> Czy to poprawne rozwiązanie czy inaczej się to robi?
>>
>> ps. gdyby pliki były na tym samym poziomie (w roocie) to musiałbym chyba
>> każdy plik osobną regułą chwytać, lub grupami czyli pliki css/JS/GIF/JPG
>> itd. Się zachciało przyjaznego linka ;-)
> można
> RewriteCond %{REQUEST_URI} !\.(css|js|gif|jpe?g|png|ico|pdf)$
> RewriteRule (.*) /getfile.php?url=$1
To chyba moje pierwsze rozwiązanie zgrabniejsze (przy założeniu, że
wszystko wsadzone w /app) :-)
Choć nie wiem jak się oba przekładają na wydajność po stronie serwera.
Tak czy owak dzięki za kolejny pomysł.
> albo w przypadku większej złożoności reguł wykorzystać skok.
Skok czyli? Jakis exampelek?
--
pozdrawiam
Roman Tyczka
Re: przyjazne linki bez htaccess
Author: rePeter
Date: Fri, 07 Sep 2018 11:33
Date: Fri, 07 Sep 2018 11:33
37 lines
2950 bytes
2950 bytes
Fri, 7 Sep 2018 13:15:32 +0200
Roman Tyczka <noemail@because.no> napisał(a):
> On Fri, 7 Sep 2018 11:08:27 +0200, rePeter wrote:
>
> >> Jako, że szczęśliwie wszystkie pliki dodatkowe są zakopane w podkatalogu
> >> /app to po dodaniu drugiej reguły problem zniknął:
> >>
> >> RewriteRule (app/.*) /$1 [END]
> >> RewriteRule (.*) /getfile.php?url=$1 [END]
> > RewriteCond %{REQUEST_URI} !\.(css|js|gif|jpe?g|png|ico|pdf)$
> > RewriteRule (.*) /getfile.php?url=$1
>
> To chyba moje pierwsze rozwiązanie zgrabniejsze
Natomiast to jest bardziej uniwersalne i dodatkowo udostępnia wyłącznie wyszczególnione
pliki.
> Skok czyli? Jakis exampelek?
np. przeskok jednej reguły [S=1],
w tym wypadku przekierowania na https, jeśli sobie lokalnie testuję
RewriteCond %{HTTP_HOST} localhost [or]
RewriteCond %{REMOTE_ADDR} ^10.11.12.
RewriteRule .* - [S=1]
RewriteCond %{HTTPS} off [or]
RewriteCond %{HTTP_HOST} !^www.domena$
RewriteRule ^(.*)$ https://www.domena/$1 [R=301,L]
--
pozdrawiam, Peter
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads