Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> ścieżka url dla ajax-a przy htaccess
blackstone
post 17.07.2018, 16:56:42
Post #1





Grupa: Zarejestrowani
Postów: 98
Pomógł: 0
Dołączył: 19.03.2015

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


Mam taki problem związany obsługą połączenia na lini js<>php przez ajax. Mam projekt strony działajacy na zasadie "przyjaznych linków" dzięki plikowi htaccess.

O to jego zawartośc
  1. RewriteEngine on
  2. RewriteBase /mysite/
  3.  
  4.  
  5. RewriteCond %{THE_REQUEST} \s/+web/tag\?q=([^\s&]+) [NC]
  6. RewriteRule ^ /mysite/tag/%1? [R=302,L]
  7.  
  8. RewriteEngine On
  9. RewriteRule ^(.+)/$ index.php?move=$1 [L]
  10. RewriteRule ^(.+)/$ index.php?move=$1 [L]
  11. RewriteRule ^(.+)/$ index.php?move=$1&szukaj=$2 [L]
  12. RewriteRule ^(.+)/$ ^panel.php[L]


Wszystko działa dobrze, ale mam problem z napisaniem prawidłowego adresu w pliku js ( z którego korzysta plik indeks.php który obsługuje stronę) dla funkcji jquery load() który ma pobierać dane z pliku php ( plik ten pobiera dane z bazy danych). Sytuacja jest taka że plik php i js są obok siebie w jednym folderze.

Próbowałem w pliku js adresów 'search_service.php' oraz '[::1]/mysite/js/search_service'.
Zaś w pliku htaccess próbowałem zablokować jego działanie dla tego pliku js na następującymi regułkami.

RewriteRule ^(.+)/$ ^js/search_service.js[L]
RewriteRule ^(.+)/$ ^/js/search_service.js[L]
RewriteRule ^(.+)/$ ^./js/search_service.js[L]

Jestem zdecydowanie słabo obeznany w zagadnieniach związanych z htaccess, skończyły mi się koncepty które mogłem wykonać, dlatego chce zapytać co dalej mogę zrobić żeby uruchomić połączenie? Dodam że strona postawiona jest narazie na webserv dla windows a docelowo ma się znajdować na zwykłym hostingu cba.pl ( piszę to bo gdzieś wyczytałem że rodzaj serwera może mieć tu znaczenie). Z góry dzięki za sugestie.











Go to the top of the page
+Quote Post
trueblue
post 17.07.2018, 18:44:41
Post #2





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


Cytat(blackstone @ 17.07.2018, 17:56:42 ) *
  1. RewriteEngine On
  2. RewriteRule ^(.+)/$ index.php?move=$1 [L]
  3. RewriteRule ^(.+)/$ index.php?move=$1 [L]
  4. RewriteRule ^(.+)/$ index.php?move=$1&szukaj=$2 [L]
  5. RewriteRule ^(.+)/$ ^panel.php[L]

Tylko pierwsza reguła się wykona, resztę możesz wyrzucić.

Cytat(blackstone @ 17.07.2018, 17:56:42 ) *
Zaś w pliku htaccess próbowałem zablokować jego działanie dla tego pliku js na następującymi regułkami.

Szczerze mówiąc nie wiem czy to o czym myślę, jest tym co chcesz w tym zdaniu przekazać.
Przy ładowaniu plików poprzez Ajax należy kierować się zasadami ścieżek względnych i bezwzględnych.
Nie ma znaczenia skąd jest ładowany plik .js, natomiast ma znaczenie pod jakim adresem jest strona, kiedy wywoływane jest żądanie z tego skryptu.
Jeśli strona jest pod adresem http://domena.pl/abc/ i wywołasz adres skrypt1.php, to ten będzie ładowany z adresu http://domena.pl/abc/, jeśli wywołasz adres /skrypt1.php, to będzie ładowany z adresu http://domena.pl/




--------------------
Go to the top of the page
+Quote Post
blackstone
post 18.07.2018, 13:41:59
Post #3





Grupa: Zarejestrowani
Postów: 98
Pomógł: 0
Dołączył: 19.03.2015

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


Ok, wystarczyło dodanie ( w pliku js ) segmentu adresu z znazwą strony bez [::1] czyli /mysite/ajax/search_service.php. Dzięki za sugestie!
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: 28.03.2024 - 17:27