Skocz do zawartości
  • Cześć!

    Witaj na forum RootNode - aby pisać u nas musisz się zarejestrować, a następnie zalogować. Posty pisane z kont niezarejestrowanych nie są widoczne publicznie.

Problem z zapisaniem .htaccess na Linuxie


marv

Rekomendowane odpowiedzi

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

Edytowane przez marv
Odnośnik do komentarza
Udostępnij na innych stronach

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.

Edytowane przez Borian
Odnośnik do komentarza
Udostępnij na innych stronach

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..

Edytowane przez marv
Odnośnik do komentarza
Udostępnij na innych stronach

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 :)

Edytowane przez Borian
Odnośnik do komentarza
Udostępnij na innych stronach

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).

Edytowane przez Piotr GRD
  • Lubię 1
Odnośnik do komentarza
Udostępnij na innych stronach

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.

Edytowane przez marv
Odnośnik do komentarza
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
Odnośnik do komentarza
Udostępnij na innych stronach

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ć.

Edytowane przez ćwierćadmin
dopisek
  • Lubię 1
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

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