[wordpress] WordPress는 홈페이지를 제외한 모든 페이지에서 404 페이지를 찾을 수 없습니다.

갑자기 WordPress 웹 사이트로 이동하면 모든 페이지에 404 페이지를 찾을 수 없음 페이지가 표시됩니다. 나는 문제가 퍼머 링크 구조에 있다고 가정하고 있는데, 내가 만지지 않았다고 맹세 할 수 있었다. 영구 링크 설정은 ‘월 및 이름’에 있습니다.

이 문제의 유사한 사례를 온라인에서 조사했는데 많은 것이 .htaccess파일 과 관련이 있습니까? 찾기를 시도했지만 할 수 없습니다. 어떻게 든 삭제 되었을까요? 어디에 있어야하나요?

어떤 제안이라도 도움이 될 것입니다

물론 숨겨진 파일도 볼 수 있습니다.



답변

.htaccess는 숨겨진 파일이므로 모든 파일을 ftp에 표시되도록 설정해야합니다.

permalink 구조를 기본값 (? p = ID)으로 되돌려 .htaccess가 문제인지 확인하는 것이 좋습니다.

그런 다음 “월 및 이름”구조를 다시 설정하고 작동하는지 확인할 수 있습니다.

PS : 3.1로 업그레이드하셨습니까? 이 경우 플러그인 문제가있는 사람들을 보았습니다.


답변

기본적으로 .htaccess 파일이 있어야하며 httpd.conf가 정확해야합니다.

제 경우에는 섹션에서 /etc/apache2/apache2.conf 파일을 변경했습니다.

<Directory "/var/www/html">

변경된 줄은 다음과 같습니다.

AllowOverride None

AllowOverride All

그리고 웹 서버를 다시 시작하십시오.

systemctl restart apache2


답변

당신이 아닌 다른 영구 링크 사용하는 경우 그 문제를 해결하는 것은 매우 간단 default같은 Day and name, Month and name, Numeric, Post name또는 Custom Structure, 당신은 단지 필요를

관리자 영역에 로그인하십시오 Settings > Permalinks.http://yoursite.com/wp-admin/options-permalink.php

선택 Default고유 주소 설정을 변경 저장 한 후,

그런 다음 다른 이전 영구 링크 선택으로 다시 되돌 리거나 원하는대로 유지할 수 있습니다.default

이 문제는 도메인이나 위치에서 다른 위치로 사이트를 이동할 때 발생할 수 있습니다.


답변

기본 동작 ( example.com/?p=42)이 작동하는 경우 다음을 수행해야합니다.

  • 선호하는 영구 링크 스타일로 변경하고 Admin: Settings > Permalinks저장을 클릭합니다. 때때로 문제를 해결합니다. 그렇지 않은 경우 :
  • 파일 /path/to/wordpress/.htaccess이 변경되었고 이제 RewriteEngine On. 줄이 포함되어 있지 않으면 WordPress 권한 문제입니다.
  • ‘rewrite’모듈이로드되었는지 확인합니다. 다음을 사용하여 PHP 파일을 만듭니다.

    <?php
      phpinfo()
    ?>

    그 안에 브라우저에서 열고 mod_rewrite. ‘로드 된 모듈’섹션에 있어야합니다. 그렇지 않은 경우 활성화하십시오- index.html자세한 내용 은 아파치 기본 파일을 확인하십시오-Ubuntu에서 도우미를 사용하여 수행하십시오 a2enmod.

  • 아파치 서버가 .htaccess파일을 보고 있는지 확인하십시오 . 공개 httpd.conf– 또는 우분투의 대안입니다, /etc/apache2/apache2.conf. 그 안에는 다음과 같은 것이 있어야합니다.

    <Directory /path/to/wordpress>
      Options Indexes FollowSymLinks
      AllowOverride All
      Require all granted
    </Directory>
  • 이러한 변경을 한 후에는 아파치 서버를 다시 시작하는 것을 잊지 마십시오. sudo service apache2 restart


답변

이 모든 것이 작동하지 않고 .htaccess가 정확하고 영구 링크 트릭이 작동하지 않으면 apache2 rewite mod를 활성화하지 않았을 수 있습니다 .

나는 이것을 실행하고 내 문제가 해결되었습니다.

 sudo a2enmod rewrite 


답변

WordPress 관리 인터페이스 내에서 다음을 수행하십시오.

  1. 관리자 설정으로 이동

  2. 퍼머 링크를 클릭하고 라디오 버튼에서 게시물 이름을 선택합니다.

  3. 아래로 스크롤하면 .htaccess여기에 다음과 같은 코드 가 표시됩니다 .

    <IfModule mod_rewrite.c>
        RewriteRule ^index\.php$ - [L]
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule . /wordpress/index.php [L]
    </IfModule> 
  4. 코드를 복사하고 .htaccess파일에 붙여 넣습니다 .

답변

이 오류는 아파치 httpd.conf 문서에서 다시 쓰기 모드가 비활성화되어 발생합니다. 주석을 제거하고 서구 친화적 인 영구 링크를 즐기십시오.