Odnoszę się do tego pytania, które zostało wcześniej zadane i na które nie ma odpowiedniej odpowiedzi: Wordpress przesłaniający rzeczywiste podkatalogi, a także strony / kod Non "Wordpress", błąd 404
Mam ten sam problem i próbowałem prawie wszystkiego, co znalazłem w sieci. Jest to z pewnością związane z włączeniem permalinks w wordpress. Jednak w podkatalogu umieściłem nowy plik .htaccess z:
RewriteEngine off
i problem nadal istnieje. Nawet jeśli całkowicie usunę plik .htaccess wordpress, problem nadal istnieje.
Wypróbowałem też inne sugerowane rozwiązania, takie jak ErrorDocument 401 „Nieautoryzowany dostęp” i ErrorDocument 404 „Nieautoryzowany dostęp” i Przekierowanie 301 / mysubdirectory http://www.mydomain.com/mysubdirectory/index.html w różnych lokalizacjach - wszystko bezskutecznie .
Czy ktoś może zaoferować inne rozwiązanie? Jedynym sposobem, w jaki mogę to naprawić, jest wyłączenie permalinków, ale musimy je włączyć.
Dzięki,
Nicole
Odpowiedzi:
Zakładam, że umieścisz WordPress w katalogu głównym witryny, a katalogi zewnętrzne również znajdują się w katalogu głównym witryny. Dzieje się tak dlatego, że pliki .htaccess mają hierarchię. Wszystkie dyrektywy znajdujące się w najwyższym pliku .htaccess spływają w dół i mają zastosowanie do wszystkich katalogów poniżej.
W takim przypadku możesz zrobić jedną z kilku rzeczy:
Przenieś WordPress do własnego katalogu. Zobacz: http://codex.wordpress.org/Moving_WordPress Jeśli przenosisz WordPress do własnego katalogu, aby znajdował się na tym samym poziomie w hierarchii katalogów serwera, co inne katalogi, reguły przepisywania WordPress nie mogą wpływać na inne katalogi.
RewriteEngine Off - normalnie by to działało. Jeśli to nie działa, sprawdź, czy nie używasz wieloznacznego ustawienia DNS. Jeśli masz zapisany znak wieloznaczny * nazwy hosta wskazujący na serwer sieciowy w ustawieniach DNS, może to spowodować spustoszenie w .htaccess i poddomenach.
W pliku .htaccess w katalogu głównym witryny dodaj następujące POWYŻEJ dyrektyw WordPress .htaccess:
Jeden z nich powinien działać dla Ciebie.
źródło
W przeszłości działało to dla mnie w podobnej sytuacji:
Połóż to na
.htaccess
źródło
kiedy kopiuję moje pliki na ten sam serwer, ale z innym folderem podkatalogu, więc kiedy próbowałem uzyskać dostęp do moich stron, index.php działa dobrze, ale inne strony nie działają i daje mi błąd 404. Przepraszam za mój zły język angielski!!
Patrzę tylko na mój oryginał:
i włóż nowy z
źródło
Widzę, że ten wątek ma kilka miesięcy, ale na wypadek, gdybyś nigdy nie zadziałał!
Miałem podobny problem, ale mój problem polegał na tym, że instalacja wordpress znajdowała się w podkatalogu, co uniemożliwiało dostęp URL do folderów w katalogu głównym (poza katalogiem instalacyjnym WP), ale tylko wtedy, gdy włączone były permalinki. Aby rozwiązać ten problem, skopiowałem zarówno index.php, jak i .htaccess (nie kopiuj nie przenieś) z podkatalogu, w którym znajduje się instalacja WP, i umieściłem je w katalogu głównym public_html (lub w dowolnym podkatalogu, do którego próbujesz uzyskać dostęp poza instalacją WP informator). Plik .htaccess ma już warunki ponownego zapisu dla linków bezpośrednich:
Włącz permalinki dla odświeżania i to rozwiązało wszystkie problemy. Upewnij się, że twoje uprawnienia do folderów głównych są również ustawione poprawnie, ponieważ w przeszłości powodowało to problemy.
źródło
Jeśli nadal otrzymujesz 404 z wyłączonym htaccess i zweryfikowałeś ścieżki i wiesz, że pliki tam są, pozostały Ci tylko trzy opcje ...
Opcje ...
Jeśli to nie działa, potrzebujesz nowego hosta.
źródło
Po prawie wyskubaniu włosów podczas edycji htaccess w końcu znalazłem rozwiązanie, które będzie działać dla WordPress.
Miałem ten problem po zainstalowaniu skryptu Codeiginter w tym samym katalogu głównym, w którym zainstalowany jest WordPress.
Po wypróbowaniu wszystkich podanych tutaj sztuczek wciąż otrzymywałem błędy 404 na stronach związanych z nowym skryptem.
Zauważyłem, że htaccess WordPress nadpisuje htaccess skryptu. Zauważyłem również, że inne instalacje WordPress w tym samym katalogu nie miały tego błędu 404.
Po prostu adoptowałem htaccess z nowej instalacji WordPress w tym samym katalogu serwera i dodałem go do folderu, w którym znajduje się mój skrypt. Oto jak to wygląda:
Zastąp nazwę podkatalogu nazwą katalogu i umieść ten plik htaccess w folderze, w którym znajduje się skrypt.
Przykład: jeśli witryna jest tutaj zainstalowana
public_html/
i nowy folder się znajduje
skopiuj powyższy plik htaccess i zapisz go w folderze „example”, a to powinno działać.
źródło
Wiele razy sprawdzałem odpowiedzi tutaj, ponieważ napotkałem podobny problem. Mam pliki w podkatalogu, które zgłaszają błąd 404, gdy próbuję uzyskać do nich dostęp. Wszystkie elementy .htaccess nie naprawiły tego, jak mówi Kirsten Douglas, Wordpress już to robi.
Moje rozwiązanie
Znalazłem ten artykuł po sprawdzeniu dziennika błędów na serwerze. Otrzymywałem wiadomość o złym identyfikatorze użytkownika dla skryptów. Zauważyłem również, że 404 nie został wyrzucony z powodu pliku, ale ponieważ serwer nie mógł obsłużyć pliku 500.html, tj. Miałem błąd 500.
Okazuje się, że utworzyłem pliki jako root i potrzebowałem zmienić właściciela na właściciela plików internetowych.
Mam nadzieję, że to pomoże innym, którzy mieli ten sam problem!
źródło
Powinieneś być w stanie po prostu dodać
RewriteCond
dyrektywę, która sprawi, że reguły WordPress będą ignorowane dla żądań w twoim podfolderze.Mówisz jednak, że nawet bez WordPress
.htaccess
masz problem? Jaka jest zawartość twojego podkatalogu.htaccess
?źródło