[Apache,PHP] Końcówka PHP sama się dopisuje

0

Witam, mam problem - na moim hostingu po wpisaniu www.strona.pl/costam jeśli folder costam nie istnieje a plik costam.php istnieje to zostaje on otworzony, czyli przy wpisaniu www.strona.pl/costam/ zamiast błędu 404 pokazuje się strona www.strona.pl/costam.php co jest dla mnie wielką niedogodnością i chciałbym się dowiedzieć co to powoduje i jak to wyłączyć [???]

// niefortunnie się wyraziłem - "na moim hostingu" = "na hostingu gdzie mam stronę"

0
Adamo napisał(a)

przy wpisaniu www.strona.pl/costam/ pokazuje się strona www.strona.pl/costam.php

chyba sie pomyliles.. przy na pewno tak nie jest ;)

0

no może "przy" nie jest (nie wiem o co ci chodzi)
ale tak jest, niech ci będzie że po wpisaniu i naciśnięciu enter :/

przy okazji - co oznaczają "przełączniki" Options typu +FollowSymLinks (to akurat wiem), +Indexes (to też akurat wiem), +Includes, MultiViews, ExecCGI (no domyślam się) - no ale tego jest więcej i nie wiem co znaczą

0

no dobra zrobiłem literówke z tym "przy", sam nie wiem o co mi chodziło ;);)

w każdym razie chodzi mi o to że coś chyba sie pomylilłeś. Z tego co napisałeś wynika, że po wpisaniu
http://strona.pl/index/ , wyświetli się plik strona.pl/index.php
a tak raczej nie jest... przynajmniej domyślnie w apache

0
Zawadzki14 napisał(a)

Z tego co napisałeś wynika, że po wpisaniu
http://strona.pl/index/ , wyświetli się plik strona.pl/index.php
a tak raczej nie jest... przynajmniej domyślnie w apache

no bo dokładnie tak jest
skąd możesz wiedzieć że tak nie jest
przecież wiem że tak domyślnie w apache nie jest a nie o tym jest topic, tylko o tym że na hostingu gdzie mam stronę tak jest

wygląda na to że gdzieś "wyżej" jest zasada typu

RewriteCond ${REQUEST_FILENAME} !-F
RewriteCond ${REQUEST_FILENAME}.php -F
RewriteRule (.*) \1.php

^^ to jest pseudokod żeby nie było
chciałbym ją zaniechać

// no problem rozwiązany przez stworzenie .htaccess i wyzerowanie Options - tak jak przypuszczałem jedna z tych opcji to powodowała ale dalej nie mam pojęcia jak się ona nazywała

na serwerze jest ustawione:

Options FollowSymLinks IncludesNoExec MultiViews Includes FancyIndexing NameWidth=*

praktycznie nie wiem co takie ustawienie oznacza

// no - w końcu znalazłem winowajcę - jak ktoś ciekawy to powodowało to ustawienie MultiViews:

pckurier.pl napisał(a)

(...) Jest nią opcja konfiguracyjna Multiviews katalogów serwera WWW, która nie jest ani domyślna, ani nie może zostać ustawiona przez zadeklarowanie Options All w konfiguracji podkatalogu. Musi być wymieniona jawnie w opcjach konfiguracyjnych katalogu, np.:

Options Indexes, Symlinks, Multiviews
Multiviews zaczyna działać, gdy żądanego pliku nie można odnaleźć w wyniku translacji URI->ścieżka. Serwer poszukuje wówczas plików o nazwie nazwa.* i wybiera ten najbardziej odpowiadający preferencjom przedstawionym przez przeglądarkę (...)

bo z drugiej strony komuś to może zastąpić mod_rewrite ;P chociaż w takim przypadku nie ma sensu go stosować :P

0

Tylko to rozszerzenie najbardziej pasujące przeglądarce... Trochę niejednoznaczne z punktu widzenia autora strony :). Jednak w wielu przypadkach lepiej wstawić jawnie co ma w takiej sytuacji wyszukiwać.

0

w głównum katalogu strony daj w .htaccess takie coś (o ile to nie spowoduje error 500):

Option -MultiViews
0
angel2953 napisał(a)

w głównum katalogu strony daj w .htaccess takie coś (o ile to nie spowoduje error 500):

Option -MultiViews

tak, to bardzo, bardzo odkrywcze :/
no, rozszerzenie najbardziej pasujące to może za dużo nie mówi, no ale nie ma się problemów jeśli tylko jedno rozszerzenie będzie miał pliczek ;)
dobra EOT

1 użytkowników online, w tym zalogowanych: 0, gości: 1