Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak przekierować - długi URL
phpamator
post 4.11.2019, 14:32:11
Post #1





Grupa: Zarejestrowani
Postów: 241
Pomógł: 3
Dołączył: 10.07.2016
Skąd: UK-raine

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


Witajcie,

Pomóżcie proszę, jak w htaccess przekierować, mam bardzo długi url,
(plik znajduje się głęboko)
odwołanie do pliku/strony znajduje się w ../../../../plik.php a chciałbym mieć
domena.yhy/plik

niby właczyłem RewriteRule ale nie widzę, żeby to dizałało.
Jak zwykle pewnie coś skopałem.

próbowałem też tak (plik w głównym katalogu strony):
  1. RewriteEngine on
  2.  
  3. Rewritecond %{REQUEST_URI} !-f
  4. Rewritecond %{REQUEST_URI} !-d
  5. Rewritecond %{REQUEST_URI} !-l
  6. RewriteRule ^([\w\d-]+)$ $1.php [L]
  7. RewriteRule ^([^/.]+)$ $1.php [L]


ale cokolwiek wklepię (oczywiście plik istnieje) nie widzę, żeby cokolwiek się działo. Wpisuję i z rozszerzeniem i bez ... nic


Podpowiedzcie proszę

Pozdrawiam
amator

Ten post edytował phpamator 4.11.2019, 16:36:35
Go to the top of the page
+Quote Post
vokiel
post 4.11.2019, 20:53:25
Post #2





Grupa: Zarejestrowani
Postów: 2 449
Pomógł: 414
Dołączył: 12.03.2007

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


Masz świadomość co robią te warunki?

Kod
Rewritecond %{REQUEST_URI} !-f
Rewritecond %{REQUEST_URI} !-d
Rewritecond %{REQUEST_URI} !-l


--------------------
Go to the top of the page
+Quote Post
phpamator
post 6.11.2019, 16:46:44
Post #3





Grupa: Zarejestrowani
Postów: 241
Pomógł: 3
Dołączył: 10.07.2016
Skąd: UK-raine

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


.... nie

przepisałem coś co znalazłem gdzieś w sieci. htaccess to dla mnie jakaś magia i jeszcze nie czaję tego.

Chciałem użyskać coś takiego:

wpisuję url: domena.pl/katalog/
a przekierowanie czy .. coś otwiera plik znajdujący się np w domena.pl/katalog/katalog/katalog/../../plik.php
oczywiście wciąż pokazując ten pierwszy.
Wymyśliłem, że zamiast kombinować i robić jakieś szopki, mogę poprostu w domena.pl/katalok umieścić poprostu index.php w którym includuję plik z innej lokalizacji i z głowy.
To było by chyba najprostsze rozwiązanie ...


Chyba nie można tak, że wybieramy url: http://strona.pl/katalog/ i ten przekierowuje najpierw do url_pliku po czym ponownie url_pliku do http://strona.pl/katalog/ .. czyli dwa przekierowania (to się zapętli i wywali błąd)?

Ten post edytował phpamator 6.11.2019, 17:05:53
Go to the top of the page
+Quote Post
vokiel
post 6.11.2019, 20:00:00
Post #4





Grupa: Zarejestrowani
Postów: 2 449
Pomógł: 414
Dołączył: 12.03.2007

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


Te wszystkie warunki (Rewritecond) oznaczają coś w rodzaju if, czyli w tym przypadku:
Kod
jeśli to nie plik
oraz jeśli to nie katalog
oraz jeśli to nie symlink
...
zastosuj reguły przepisywania


Tym samym do tych reguł nie dochodzi, jeśli część Twojego URLa odnosi się do katalogu który już istnieje.


Wracając do Twojego problemu. To moim zdaniem podchodzisz do tego nieprawidłowo, skoro chcesz przepisywać ścieżkę na nią samą, albo szukać gdzieś pliku po serwerze.
Moim zdaniem jest tu kilka:
1. Przegląd tych linków i ich zamiana na inne, jeśli są gdzieś zapisane, historycznie używane, to wtedy dodanie przekierowań (ale docelowe katalogi powinny być inne).
2. Jeśli te pliki działają samodzielnie (../../../../plik.php może być wywołany bezpośrednio w przeglądarce), to zamiast przekierowań dodałbym index.php, w którym by en plik docelowy był includowany. Oczywiście trzeba mieć wtedy na uwadze poprawność ścieżek (również w tym pliku - jeśli coś zapisuje na dysk).
3. Napisanie aplikacji tak, żeby wszystko szło przez index.php w głównym katalogu z włączonym mod_rewrite i obrabianie routingu w aplikacji.


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 7.12.2019 - 04:34