htaccess i przekierowywanie do index.php

htaccess i przekierowywanie do index.php
AR
  • Rejestracja:prawie 15 lat
  • Ostatnio:ponad 4 lata
0

Szanowni forumowicze,
Na wstępie zaznaczę, że wyszukiwanie na 4programmers nie działa:-(
Chciałbym przekierowywać wszystkie wywołania na index.php. Mam w htaccess takie coś:

Kopiuj
RewriteEngine on

RewriteBase /2/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)?$ index.php [QSA,L]

I jeżeli podam np. adres:
127.16.0.1/2/
to idzie do index.php

natomiast jeżeli mam np.
127.16.0.1/2/main/
To nie przechodzi przez żaden skrypt php tylko wywala 404. W Kohana2 też miałem ten problem, ale ustawienia z Kohana2 nie działają też.

Ktoś wie dlaczego?

Dziękuję serdecznie,
A.

edytowany 4x, ostatnio: arrowman
dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:14 dni
  • Lokalizacja:Rzeszów
0

Zrób po prostu:

Kopiuj
RewriteEngine on
RewriteRule ^(.*)$ index.php [QSA,L]

Nic więcej. Zobacz czy podziała, potem jeżeli nie działa to zastanów się czy np. nie masz wyłączonego AllowOverride, a jeżeli działa to rozbudowywuj krok po kroku swój .htaccess i zobacz na którym kroku przestaje działać tak jakbyś się spodziewał.


AR
  • Rejestracja:prawie 15 lat
  • Ostatnio:ponad 4 lata
0

Dziękuję, ale niestety AllowOverride mam na All, przepraszam, zapomniałem to dodać.
Ogólnie to w ogóle jakby nie działało mi te .htaccess. Żeby ten kontroler main zaczął działać, to muszę mieć w adresie index.php:
127.16.0.1/2/index.php/main/
Nie wiem co to może być. Już tyle rzeczy wypróbowałem. Ten serwer to w ogóle jakoś mi tka chodzi, że czasami nie moge go uruchomić, a jako usługa w ogóle nie działa. Tylko w Kohana2 to mi .htaccess odczytywał Apache, ale już w Symfony2 i w obecnym moim "frameworku" nie działa.
Szkoda, bo robię to dla kumpla, żeby wdrożyć go do frameworków. To by się nadało na kurs na bloga świetnie (na kumplu chciałem przetestować czy zrozumie, a on nie wie nawet jak zmienną zadeklarować w php, tylko wykazuje zainteresowanie, także obiekt do badań idealny), robię to najprościej jak się da. Zawsze marzyłem o pomyśle na bloga.

Ale zawsze musi coś się pochrzanić. Dlatego zrezygnowałem z rozwijania umiejętności programistycznych, szlag człowieka może trafić i to żeby inni mieli takie problemy, a mnie się musi coś pierdyknąć zawsze.
No cóż, to ok. 10h poszło się *****. Nawet zrobić czegoś dla społeczności nie można.

To chyba założę bloga o kwiatkach, kurcze, już mnie nerwica bierze na to.

edytowany 4x, ostatnio: arrowman
dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:14 dni
  • Lokalizacja:Rzeszów
0

Faktycznie nie nadajesz się na programistę.

Zasugerowałeś, że rewrite jednak Ci działa, czy tak? Któryś z frameworków musi mieć adresy w postaci: /index.php/kontroler/inne_zmienne, od cholery stron tak właśnie ma adresy:
https://www.google.pl/search?hl=pl&safe=off&site=&q=inurl:index.php/main/

A źle zainstalowany serwer, który się sypie to przeinstaluj. Jak samochód czasem odpala, czasem nie, to się oddaje do mechanika/naprawia, a nie denerwuje codziennie rano, tak?


AR
  • Rejestracja:prawie 15 lat
  • Ostatnio:ponad 4 lata
0

Przeinstalowywałem serwer już nie wiem ile razy. Takie rzeczy to najlepiej na linuxie jakimś robić, ale widzisz. Np. Ubuntu mi tak trzyma do 3 uruchomień, a potem grub się sypie i i nawet Windy nie moge odpalić, a naprawić tego nie potrafię i na jakiś forach (może nawet tym) też nie, ale mniejsza z tym.

Ale w Kohana2 i Kohana3 to w bólach ale ustawiłem (i to była w podfolderze!) żeby nie było żadnych index.php w adresie.
A te strony co mi pokazałeś to jakie to są strony. Nic dużego. Chociażby na 4programmers sobie poradzili, a to autorski system.

edytowany 2x, ostatnio: arrowman
dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:14 dni
  • Lokalizacja:Rzeszów
0

Bo wszystkie onety/wp/nasze klasy i inne "wielkie" mają własne systemy. A jak system masz własny, to możesz z nim zrobić co chcesz. Dlatego w Coyote (system 4programmers) nie było sobie nic do "radzenia", bo zostało tak zaplanowane od początku zapewne.
Z tym frameworkiem, z którym walczysz też by to pewnie szło zmienić, ale trzeba by było w źródłach grzebać.

Po przeczytaniu jak Ci się wszystko sypie, to ty może w ogóle porzuć urządzenia elektroniczne, szczególnie z takim podejściem.
Fakt, linuks jest lepszy na serwery, ale u mnie stoi sobie na Windowsie środowisko PHP i chodzi idealnie. Zawsze możesz kupić VPSa.

Warto też zrobić sobie poddomeny na localhoście, co by nie walczyć właśnie z kiepsko przystosowanymi do trzymania w folderach frameworkami.


AR
  • Rejestracja:prawie 15 lat
  • Ostatnio:ponad 4 lata
0

Aha, to 4programmers jest na coyote. Ja teraz obecnie napisałem coś własnego, a nie gotowy framework. Nic wielkiego, ale chciałem, żeby już działało na bez index.php.
W sumie masz rację. Zrobię sob virtualhosta, ale tu chodzi o podejście do spray, skoro powinno działać to ma działać.
Temat i tak zostaje nierozwiązany.
A jak wychwycić to w PHP jak Apache wywala od razu 404 bez przejścia nawet chociażby przez router to nie mam pojęcia i nic znaleźć nie mogę, bo w sumie nie wiem co wpisać w google i może dlatego. Jeszcze szukam. Nie wiedziałem, że to jest możliwe.

dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:14 dni
  • Lokalizacja:Rzeszów
0

Zapodaj treść phpinfo();
Dodatkowo powiedz czy rozwiązanie z tego posta coś zmieniło?
Działanie .htaccess sprawdzisz sobie wpisując deny from all do pliku ;)


AR
  • Rejestracja:prawie 15 lat
  • Ostatnio:ponad 4 lata
0

Ok. Dzięki.

dzek69 napisał(a):

Zapodaj treść phpinfo();
Dodatkowo powiedz czy rozwiązanie z tego posta coś zmieniło?

Sprawdziłem od razu. Nic się nie zmienia.

dzek69 napisał(a):

Działanie .htaccess sprawdzisz sobie wpisując deny from all do pliku ;)

Hmm... głupi jestem. Nie sprawdziłem tego przedtem.
Dopisałem to i niestety, ale nie reaguje Apache na to w ogóle.

Wynik phpinfo() w załączniku. W pdf dla wygody, żeby nie robić megapostu/syfu.

edytowany 1x, ostatnio: arrowman
dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:14 dni
  • Lokalizacja:Rzeszów
0

Sugestia: Nie używaj xamppa, ani podobnych, gotowych do użycia środowisk. Próbowałem dwóch, zawsze były z tym większe problemy niż z ręczną instalacją czegokolwiek.
Zainstalować normalnie MySQL, potem Apache, zainstalować [z zipa!] php, poustawiać wszystko jak człowiek i będzie działać. Mogę Ci podrzucić installki, które ja mam i pomóc to wszystko złożyć do kupy.

A w temacie:
Skoro serwer nie reaguje na htaccess, no to musisz grzebać po konfiguracji, bo gdzieś na pewno masz wyłączone przeszukiwanie za htaccess. Możesz podrzucić pliki konfiguracyjne, ale znając te xamppy, to konfiguracja jest porozrzucana i mniej logiczna niż domyślne "wszystko w jednym pliku".


edytowany 1x, ostatnio: dzek69
AR
  • Rejestracja:prawie 15 lat
  • Ostatnio:ponad 4 lata
0

Byłbym wdzięczny za instalki. Bo kiedyś robiłem tak jak napisałeś, to mi mysql nie działał, ale Apache i php tak. Najwyżej wtedy tylko mysql by chodził na XAMPP.
Konfiguracja jest badziewna, to prawda. A stabilność nieraz tragiczna jeżeli chodzi o tryb usługi.
Konfigurację już sprawdzałem na sugestie na różnych forach, ale nie zaszkodzi przejrzeć ponownie. Ustawione mam na pewno na plik .httpaccess. Próbowałem robić nawet AllowOverride na ten podfolder /2/ i też nic. Teraz skopiowałem aplikację na główny folder i też nie działa.

edytowany 4x, ostatnio: arrowman
OT
  • Rejestracja:około 20 lat
  • Ostatnio:ponad 11 lat
0

Dopisałem to i niestety, ale nie reaguje Apache na to w ogóle.

A zrób tak (jako root):

Kopiuj
a2enmod rewrite
service apache2 restart

Teraz tez nie reaguje?

dzek69
To na Windowsach jest root?
AR
  • Rejestracja:prawie 15 lat
  • Ostatnio:ponad 4 lata
0
othello napisał(a):

A zrób tak (jako root):

Kopiuj
a2enmod rewrite
service apache2 restart

Teraz tez nie reaguje?

Dzięki, ale niestety, mam Windę tylko... :-(

Dzisiaj coś dokończę to zainstaluje wszystkie serwery jeszcze raz i nie jakieś pakiety typu XAMP, WAMP itp.

OT
  • Rejestracja:około 20 lat
  • Ostatnio:ponad 11 lat
0

No tak nie doczytałem ze Windows. Ale skoro nie reaguje to chyba raczej mod_rewrite nie działa. W każdym razie, mi tez ignorował .htaccess dopóki nie zrobiłem tego co powyżej.

edytowany 1x, ostatnio: othello
dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:14 dni
  • Lokalizacja:Rzeszów
1

Skoro nie reaguje na "deny from all" to znaczy, że mod_rewrite nie działa? Brzmi logicznie -.-
W ogóle nie czyta .htaccess, jakby @arrowman w htaccess wpisał "dupa jasia, a othello się nie zna" to powinno to spowodować 500 Internal Server Error, a zapewne nie spowoduje, bo [patrz początego tego zdania].


AR
  • Rejestracja:prawie 15 lat
  • Ostatnio:ponad 4 lata
0

Panowie, tylko bez zgryźliwości proszę:-)
Dostałem od dzek69 instalki, które działają u Niego. Obecnie mam full roboty i nie mogę się za to zabrać, ale wg. krótkoterminowych (a więc raczej sprawdzalnych) prognoz wynika, że już jutro będę mieć czas.

Używam XAMPA i to pewnie powoduje główny problem. Tzn. nie, że XAMP jest gorszy od innych "środowisk" czy tam menadżerów, jest moim zdaniem najlepszy (WAMP miał jakieś moduły php nawet uszkodzone), ale i tak jest do bani.
(apache nie działa mi jako usługa, wyłącza się, ma zwiechy itp. ma kilkanaście/paredziesiąt plików konfiguracyjnych, z czego np. przykładowa konifg. Virtualhosta jest w głównym pliku httpd.conf w przykładach zakomentowana, co zmyla człowieka, bo kilka dni nad tym się głowiłem, żeby znaleźć OSOBNY plik do konfiguracji VS i tam już działa (wklejone z httpd.conf)... A w PHP nie działa PHP Unit co jest NIEDOPUSZCZALNE, serwer PHP wyrzuca mi błędy przy dodatku do Symfony doctrine-fixtures oraz migrations. Na mysql nie narzekam w XAMP, ale na same środowisko tak, za ubogie procedury skłądowane, ale to może bez sensu bo mysql ma inne założenia od typowych SQL'ów).

edytowany 1x, ostatnio: arrowman
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)