Nagle przechodzę do mojej witryny WordPress i wszystkie strony dają mi stronę 404 nie znaleziono strony. Zakładam, że problem leży w strukturze permalinku, której mógłbym przysiąc, że nie dotknąłem. Ustawienie bezpośredniego łącza to „miesiąc i nazwa”.
Sprawdziłem w Internecie podobne przypadki tego problemu i wiele ma to wspólnego z .htaccess
plikiem? Próbowałem znaleźć, ale nie mogę. Może został jakoś usunięty? Gdzie ma się znajdować.
Wszelkie sugestie będą pomocne
i oczywiście widzę ukryte pliki.
Odpowiedzi:
.htaccess jest plikiem ukrytym, więc musisz ustawić wszystkie pliki jako widoczne w Twoim ftp.
Proponuję przywrócić domyślną strukturę permalinku (? P = ID), aby upewnić się, że problem stanowi .htaccess.
Następnie możesz ponownie ustawić strukturę „miesiąca i nazwy” i sprawdzić, czy działa.
PS: Czy zaktualizowałeś do 3.1? Widziałem kilka osób z problemami z wtyczkami w tym przypadku.
źródło
.htaccess
również może prowadzić do tego problemu, cokolwiekZasadniczo plik .htaccess powinien istnieć, a plik httpd.conf powinien być poprawny.
W moim przypadku zmieniłem plik /etc/apache2/apache2.conf w sekcji:
Linia zmieniona to:
do
I zrestartuj serwer WWW za pomocą
źródło
Mocowanie tego problemu jest bardzo proste, jeśli używał permalinks innych niż
default
takie jakDay and name
,Month and name
,Numeric
,Post name
lubCustom Structure
, trzeba tylkoZaloguj się do swojego obszaru administracyjnego:
Settings > Permalinks
powinien to być:http://yoursite.com/wp-admin/options-permalink.php
Wybierz
Default
ustawienie linku bezpośredniego , a następnie zapisz zmianyNastępnie możesz przywrócić go do poprzedniego wyboru permalinka lub zachować go tak,
default
jak chceszPamiętaj, że ten problem może wystąpić, gdy przenosisz witrynę z domeny lub lokalizacji do innej.
źródło
mysite.com/wp-admin
nie działa?Jeśli domyślne zachowanie (
example.com/?p=42
) działa, powinieneś:Admin: Settings > Permalinks
i kliknij Zapisz. Czasami rozwiązuje problem. Jeśli nie:/path/to/wordpress/.htaccess
został zmieniony i zawiera teraz wierszRewriteEngine On
. Jeśli nie zawiera linii, jest to problem z uprawnieniami Wordpress.Sprawdź, czy moduł 'rewrite' jest załadowany: utwórz plik PHP z rozszerzeniem
w nim otwórz go w przeglądarce i wyszukaj
mod_rewrite
. Powinien znajdować się w sekcji „Wczytane moduły”. Jeśli tak nie jest, włącz go - spójrz na domyślnyindex.html
plik Apache , aby uzyskać szczegółowe informacje - w Ubuntu robisz to z pomocąa2enmod
.Sprawdź, czy serwer Apache przegląda
.htaccess
plik. otwartehttpd.conf
- czy jest to alternatywa Ubuntu,/etc/apache2/apache2.conf
. W nim powinieneś mieć coś takiegoPo wprowadzeniu tych zmian nie zapomnij zrestartować serwera Apache.
sudo service apache2 restart
źródło
JEŚLI to wszystko nie działa, twój .htaccess jest poprawny, a trik z permalinkami nie zadziałał, być może nie włączyłeś mod rewitowania apache2 .
Uruchomiłem to i mój problem został rozwiązany:
źródło
mod_rewrite
wphpinfo();
strony, aby sprawdzić, czy masz włączone. To właśnie wLoaded Modules
odapache2
W interfejsie administratora WordPress wykonaj następujące czynności:
Przejdź do ustawień administratora
Kliknij link bezpośredni i wybierz nazwę posta w przycisku radiowym.
Przewiń w dół, a zobaczysz
.htaccess
tutaj kod, taki jak..htaccess
pliku.źródło
htaccess
plik jestnot
zapisywalny ... jeśli jest to wordpress, po prostu zapisze go sam ...Ten błąd jest spowodowany wyłączeniem przepisywania moda w dokumencie apache httpd.conf, po prostu odkomentuj go i ciesz się przyjaznymi dla SEO linkami permalinkami
źródło
źródło
Mieliśmy ten sam problem i rozwiązaliśmy go, sprawdzając error.log naszego wirtualnego hosta. Znaleźliśmy następującą wiadomość:
Rozwiązaniem było ustawienie
Options All
iAllowOverride All
w naszej konfiguracji wirtualnego hosta.źródło
Jeśli masz dostęp FTP do swojego konta:
Najpierw zaloguj się do swojego wp-admin i przejdź do Ustawienia> Permalinki
Na dole powinieneś zobaczyć coś, co mówi:
„Gdyby twój plik .htaccess był zapisywalny, moglibyśmy zrobić to automatycznie, ale tak nie jest, to są reguły mod_rewrite, które powinieneś mieć w swoim pliku .htaccess. Kliknij pole i naciśnij CTRL + a, aby zaznaczyć wszystko.”
Jeśli to prawda, wykonaj następujące czynności:
Przejdź do preferencji swojego klienta FTP i upewnij się, że ukryte pliki są wyświetlane (różni się w zależności od klienta FTP) - Jeśli tego nie zrobisz, nie będziesz w stanie znaleźć swojego pliku htaccess
Przejdź do folderu, w którym znajdują się katalogi wp-admin, wp-content, wp-includes. Sprawdź plik .htaccess. Jeśli istnieje, przejdź do kroku 4
Jeśli nie istnieje, utwórz nowy, pusty plik w programie FTP o nazwie .htaccess
Zmień CHMOD dla swojego pliku .htaccess na 666 (Twoje preferencje, jak chcesz to zrobić)
Wróć do strony Permalinks i edytuj żądaną strukturę linków. Problem powinien zostać rozwiązany!
Po zakończeniu upewnij się, że zmieniłeś chmod pliku htaccess z powrotem na 644.
Po prostu miałem ten sam problem i wydawało się, że rozwiązałem go natychmiast! Powodzenia!
źródło
W większości przypadków problem ten rozwiązuje się po prostu odwiedzając stronę Ustawienia -> Link bezpośredni w panelu administracyjnym WordPress i klikając Zapisz (jak już wskazano kilka innych odpowiedzi). Po wejściu na tę stronę WordPress przepisuje dyrektywy w
.htaccess
pliku, co w magiczny sposób rozwiązuje problem. Problem często występuje po przeniesieniu witryny (witryna się psuje, ponieważ.htaccess
zostaje w tyle lub ustawienia wymagają aktualizacji).Jeśli WordPress nie ma odpowiednich uprawnień do zapisu
.htaccess
pliku, na górze strony pojawi się informacja, a na dole dalsze instrukcje, gdy ustawienia zostaną zapisane. W takim przypadku musisz samodzielnie edytować.htaccess
plik lub, lepiej, naprawić uprawnienia do tego pliku. Plik znajduje się w katalogu głównym instalacji WordPress.cd
do katalogu isudo chmod 644 .htaccess
. Możesz również sprawdzić, czy plik należy do odpowiedniej grupy i zmienić to, co jest potrzebne, za pomocąchown
. Zapytaj swojego dostawcę usług hostingowych, jeśli nie wiesz, jak to zrobić.Jeśli korzystasz z hostingu współdzielonego, to prawdopodobnie wszystko, co możesz zrobić. Jeśli nadal masz problem, możesz porozmawiać z pomocą techniczną dostawcy usług hostingowych. W przeciwnym razie upewnij się, że korzystanie z
.htaccess
plików jest włączone na serwerze, jak już zasugerował @georgeos. Zauważ, żehttpd.conf
nie zawsze jest używane ( Ubuntu wskazuje, że jest przestarzałe, ale oficjalna dokumentacja Apache nadal mówi, że często jest to główny plik konfiguracyjny )./etc/httpd/conf/httpd.conf
i/etc/apache2/apache2.conf
wydają się być najczęstszymi miejscami dla tego pliku. Znajdź zwykle blok dla folderu publicznego<Directory /var/www/>
i upewnij się, żeAllowOverride
dyrektywa jest ustawiona naAll
. Jeśli jest ustawiona naNone
, twój.htaccess
plik jest po prostu ignorowany przez serwer.źródło
Zainstalowałem mod_rewrite, aby naprawić problem. Poniższy link zawiera przewodnik instalacji: - http://www.iasptk.com/enable-apache-mod_rewrite-ubuntu-14-04-lts/
źródło
Być może domena .htaccess jest zabroniona w ustawieniach hosta internetowego. W takim przypadku działałoby ustawienie domyślne permalinki.
źródło
Przypadek 1: - Zastanówmy się, czy migrować witrynę z jednego hostingu do innego hostingu, jeśli widzisz tego rodzaju problem.
Rozwiązanie: - Po prostu przejdź do kodu pliku kopii .htaccess starego serwera, a następnie wklej nowy plik .htaccess na serwerze. 99% będzie działać.
źródło
Mam ten sam problem, więc usuwam Apache i robię go ponownie, a problem został rozwiązany.
źródło
Po prostu przejdź do Ustawienia-> Bezpośredni link na pulpicie nawigacyjnym, a następnie przycisk Zapisz zmiany w ostatnim. \
źródło
Jeśli Twoja instalacja WordPress znajduje się w podfolderze (np. Https://www.example.com/subfolder ), zmień tę linię w swoim WordPressie
.htaccess
do
Robiąc to, mówisz serwerowi, aby szukał WordPress
index.php
w folderze WordPress (np. Https://www.example.com/subfolder ), a nie w folderze publicznym (np. Https://www.example.com ).źródło
Właśnie zmieniłem permalink na „miesiąc i dzień” wszystkich postów, przechodząc do ustawienia> permalink.
Teraz wszystkie posty są otwarte i działają poprawnie.
Ponownie, zmieniłem nazwę wszystkich postów na ich rzeczywisty permalink. Jego znowu działa dobrze.
Ta metoda zadziałała dla mnie :-)
źródło
Dla użytkowników nginx
Użyj następujących elementów w pliku konfiguracyjnym swojej witryny (zwykle
/etc/nginx/sites-available/example.com
)location / { try_files $uri $uri/ /index.php?q=$uri&$args; }
Przekazuje to wszystkie żądania bezpośredniego łącza do index.php z ciągiem znaków URI i dostarczonymi argumentami. Zrób,
systemctl reload nginx
aby zobaczyć zmiany, a linki spoza strony głównej powinny się załadować.źródło
Przed próbą wprowadzenia jakichkolwiek zmian w konfiguracji permalink lub serwera, sprawdź plik .htaccess. Najczęściej jest to uszkodzony lub pusty plik .htaccess. Zresetuj plik htaccess do domyślnego
źródło
po 2 długich dniach rozwiązaniem było dodanie
options +FollowSymLinks
na górę mojego.htaccess
pliku.źródło
Miałem ten problem nie tak dawno temu. Zresetowałem mój permalink do domyślnego lub właśnie go zapisałem, zaktualizowałem motywy / rdzeń do (4.7.4) / plugins, dezaktywowałem wszystkie wtyczki, przełączyłem na domyślny motyw, zoptymalizowaną bazę danych, .htaccess jest już domyślny, sprawdziłem uprawnienia do plików, mod_rewrite jest włączony .
Jak dotąd nic nie działa, działają posty, nowa strona, strona / kontakt Z WYJĄTKIEM starych stron.
Zasadniczo strony / adresy URL, które nie działają, to:
Ultimate, znalazłem te pliki w folderze głównym:
/breeding.php i /training.php
Zmieniłem nazwy obu plików i powyższe strony działały.
źródło