Skocz do zawartości
marv

Problem z zapisaniem .htaccess na Linuxie

Polecane posty

Napisano (edytowany)

Cześć, niby problem znany wszystkim, ale tym razem kończą mi się pomysły. Chcę wykonać prostą operację: zaktualizować .htaccess na WP. Problem w tym, że nie mogę tego pliku zapisać ponownie w formacie kropka+rozszerzenie -> .htaccess.

Zapisanie txt używając zapisz jako w linuxie daje plik z poprawną nazwą ale w istocie bez rozszerzenia .htaccess Jest to widoczne jako po prostu zwykły plik o nazwie .htaccess.
Zmiana nazwy pliku w FileZilla również nie pomaga. Plik może być wyłącznie zapisany jako np. ABC.htaccess (wtedy jego format jest poprawny i widoczny przez serwer) albo ostatecznie ze spacją. Zmiana na pożądaną nazwę kropka+rozszerzenie sprawia, że z formatu htaccess robi się znowu plik. Podobnie dzieje się w FileZilla zmieniając nazwę tego pliku bezpośrednio na serwerze.

Przyznam, że już kończą mi się pomysły, a co śmieszniejsze jeszcze kilka dni temu, bez najmniejszych problemów zaktualizowałem ten plik. Do dzisiaj nie wiem dlaczego, ale zostawiłem go wtedy po prostu w formacie 'plik' i był on widoczny przez serwer, a strona nie wywalała błędu 'Internal'. Aktualnie mój plik musi się nazywać np. x.htaccess. Jest on widoczny przez serwer, ale obawiam się, że ma to jakiś wpływ mimo wszystko na jego widoczność przez serwer, ponieważ komendy na Browser Leverage Cache zawarte w nim przestały być brane pod uwagę i strona jest widoczna jako pozbawiona tej funkcji. Znowu namąciłem eh.. 🙂

Próbowałem również zmienić nazwę tego pliku poprzez terminal w linuxie poprzez komendę mv. Niestety gdy podaje komendę mv ABC.htaccess .htaccess terminal podaje informacje, że nie ma takiego folderu . Poniżej zamieszczam foto z FileZilla jak to wygląda:

Zrzut ekranu z 2019-08-04 11-16-48.png

Edytowano przez marv

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Napisano (edytowany)

Czym się objawia ten brak możliwości zapisania? Nigdy się nie spotkałem żebym nie mógł zapisać pliku htaccess. Takie głupie pytanie: może po prostu robisz to z poziomu użytkownika a właścicielem pliku jest np. www-data i nie masz uprawnień? .htaccess to nie jest rozszerzenie tylko zwykły plik.

Edytowano przez Borian

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Napisano (edytowany)
25 minut temu, Borian napisał:

Czym się objawia ten brak możliwości zapisania? Nigdy się nie spotkałem żebym nie mógł zapisać pliku htaccess. Takie głupie pytanie: może po prostu robisz to z poziomu użytkownika a właścicielem pliku jest np. www-data i nie masz uprawnień? .htaccess to nie jest rozszerzenie tylko zwykły plik.

Też tego nie pojmuję, tym bardziej, że jeszcze przedwczoraj normalnie wrzuciłem plik na serwer o nazwie .htaccess mający format plik i działał. Kwadratura koła 🙂 Może opisze to inaczej. Rzecz polega na tym, że plik .htaccess musi widnieć w FileZilli jako htaccess-plik i w ten sposób przesłany na FTP, żeby działał na mojej stronie. Wiem, że nie ma takiego fromatu, ale z jakiejś przyczyny tak musi być, żeby działało. Jeżeli prześlę jak wyżej .htaccess widniejący w FileZilla jako PLIK, to strona wyrzuca Internal Server Error, czyli Apache nie widzi tego pliku. Owszem, mogę przecież zapisać sobie np. ABX.htaccess i w ten sposób, widziane przez FileZilla jako htaccess-plik wrzucić to na FTP, ale czy plik htaccess może się tak nazywać? Czy inna nazwa .htaccess niż domyślna, nie spowoduje potem problemów np. w konfiguracji wtyczek, które zapisują coś do tego pliku. Wedle zaleceń powinien nazywać się wyłącznie .htaccess.

Jeszcze inaczej zadam pytanie. Dlaczego moja strona nie widzi pliku nazywającego się .htaccess?

 

Teraz najlepsze. Jak wspomniałem wrzucenie normalnego pliku nazwanego .htaccess przez FileZille z jakiegoś powodu powoduje Internal Error i nie jest widziane prze Apache. Zalogowałem się więc na FTP poprzez klienta hostingu i tam zmieniłem nazwę pliku ABC.htaccess na 'htaccess'. Wersja kropka+htaccess nie może być zapisana. W ten sposób klient zmienił nazwę pliku na 'htaccess'. Patrząc na ten plik w File Zilli mamy .htaccess z atrybutem PLIK, ale tym razem działający 😳 czy ktoś coś z tego rozumie? bo ja nie.. 😏 nigdy wcześniej nie spotkałem się z czymś takim. Podejrzewam, że mąci w tym wszystkim linux..

Edytowano przez marv

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Napisano (edytowany)

Ogólnie w apache da się zmienić żeby szukał pliku htaccess pod inną nazwą tak jak tutaj: https://www.electrictoolbox.com/change-htacces-filename-apache/ ale raczej nie jest to zalecane. To może trzeba jakąś wtyczkę do wp ściągnąć, może przez nią uda się edytować htaccess bez problemów.

 

Edit: Po prostu pierwszy raz spotkałem się z sytuacją, że nie mógłbym edytować jakiegoś pliku, jeżeli blokowały mnie uprawnienia to sudo i już nie blokowały dlatego trochę na oślep strzelam :)

Edytowano przez Borian

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Napisano (edytowany)
2 godziny temu, marv napisał:

Jeżeli prześlę jak wyżej .htaccess widniejący w FileZilla jako PLIK, to strona wyrzuca Internal Server Error, czyli Apache nie widzi tego pliku.

 

Nie. To nie znaczy, że plik jest niewidoczny. Taki błąd najczęściej oznacza błąd składni w .htaccess (lub zawarcie w nim niedozwolonej komendy).

Edytowano przez Piotr GRD
  • Lubię 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Napisano (edytowany)
2 godziny temu, Piotr GRD napisał:

 

Nie. To nie znaczy, że plik jest niewidoczny. Taki błąd najczęściej oznacza błąd składni w .htaccess (lub zawarcie w nim niedozwolonej komendy).

To może być pewien trop, ale z drugiej strony przecież nie dodaję żadnej niedozwolonej komendy, a składnie są w porządku. Dla przykładu to wciąż ten sam plik, powiedzmy, że chciałem usunąć jedną linijkę kodu, żeby coś sprawdzić, a potem ponownie ją wrzucić i w efekcie nie działa. Czy czasem nie jest to robota wtyczki od z iThemes Security? Ona wpisuje w .htaccess całkiem sporo kodu i może po wgraniu nowego htaccess koniecznie jest po prostu restart tej wtyczki.

 

Ostatecznie wygenerowałem sobie nowy htaccess przez perma linki, chociaż gdyby chciał coś wrzucić znowu do htaccess manualnie problem pozostaje.

Edytowano przez marv

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Możliwe, że twój edytor wprowadza niedozwolone znaki, szczególnie jeśli używasz jakiegoś wymyślnego edytora tekstu w systemie Windows. Przykładowym problemem jest stosowanie kodowania UTF-8 z tzw. BOM (byte order mark), czyli dodatkowe "niewidzialne" bajty na początku pliku. Zapisując plik upewnij się, że stosujesz czyste kodowanie ANSI.

  • Lubię 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Napisano (edytowany)

Też stawiam na BOM, szczególnie jak się stało po edycji pliku, pierwsze co to sprawdzić error log, powinno być wtedy coś typu:

 

"Invalid command '\xef\xbb\xbf', perhaps misspelled"

 

A swoją drogą jeśli powód inny to też powinna być informacja w error logu, tak że to jest przede wszystkim pierwsza rzecz jaką trzeba sprawdzić, i ewentualnie tu wkleić.

Edytowano przez ćwierćadmin
dopisek
  • Lubię 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dołącz do rozmowy

Możesz pisać i zarejestrować się później. Jeśli masz konto,Zaloguj się teraz, aby publikować na swoim koncie.

Gość
Odpowiedz...

×   Wklejony jako tekst z formatowaniem.   Wklej jako zwykły tekst

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.

×
×
  • Utwórz nowe...

Ważne informacje

Korzystając z forum, wyrażasz zgodę na: Warunki korzystania z serwisu, Regulamin, Polityka prywatności.