source

페이지를 찾을 수 없으므로 permalinks를 'Postname'으로 변경

manysource 2023. 3. 1. 11:20

페이지를 찾을 수 없으므로 permalinks를 'Postname'으로 변경

나는 가지고 있다query로.fetch커스텀 포스트 타입의 모든 투고device한 페이지당 3개의 투고를 표시하고 싶습니다.사용방법next그리고.previous링크를 클릭하면 다른 3개의 게시물이 보이는 다음 페이지를 탐색할 수 있습니다.디폴트에서는 완벽하게 동작합니다.permalink어느 것이

  //the default permalink of wordpress
http:mywebsite/?p=123

그리고 나는 그것을 바꿀 필요가 있다.Post name다음과 같은 SEO 용도의 경우:

http:mywebsite/sample-post/

갑자기 문제가 발생해요.

더 많은 블로그/기사를 검색 및 읽고 있지만 도움이 되는 제안을 찾을 수 없습니다.나는 이 문제에 너무 얽매여 있어서 머리가 아프다.

그런데 이 질문을 사용했어요.

   <?php
     if (have_posts()) : {
     $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
     query_posts('showposts=3&post_type=advice'.'&paged='.$paged);} ?>

      <ul class="adviceLandingPage">

      <?php while(have_posts()) : the_post(); ?>

       <li>
         <span><?php the_title(); ?></span>
         <span><?php $excerpt = get_the_excerpt(); echo string_limit_words($excerpt,20); ?></span>

       </li>

       <?php endwhile; ?>
          <li class="navigation">
             <?php posts_nav_link(); ?>
          </li>
       </u>
     <?php endif; ?>

제안해 주셔서 감사합니다.

편집:

다음 페이지로 이동하여 다음 3개의 게시물을 볼 수 있다고 가정하면, 이것이 오류입니다.Page not found.

permalink를 %postname%로 변경한 후의 .htaccess 입니다.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /bryan/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /bryan/index.php [L]
</IfModule>

# END WordPress

이 문제를 해결하려면 , 다음의 순서에 따릅니다.

  1. 를 발견하다httpd.conf웹 서버상의 파일
  2. 코드를 검색하다LoadModule rewrite_module modules / mod_rewrite.so
  3. 삭제#그 앞에서
  4. 암호를 찾다AllowOverride none로 변환합니다.AllowOverride all

맛있을 정도로 심플합니다. :)

다음 명령을 실행합니다.

다음 번호:$명령어에 포함되지 않음

$ sudo a2enmod rewrite

$ cd /var/www/html

$ ls -al

$ sudo touch .htaccess

$ sudo nano .htaccess

의 변경.htaccess위의 스니펫을 참조하기 위한 파일

# BEGIN WordPress

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>

# END WordPress

$ sudo chmod 644 .htaccess

$ sudo nano /etc/apache2/sites-available/000-default.conf

다음 사항을 확인합니다.AllowOverride All설정되어 있다

<Directory "/var/www/html">
    AllowOverride All
</Directory>

$ sudo /etc/init.d/apache2 restart

자세한 내용은 아래 링크를 참조하십시오.

https://sachinparmarblog.com/fixing-permalinks-on-wordpress-to-use-postname/

또,httpd.conf파일링 및 확인AllowOverrideAll를 보관 유지하고 있는 디렉토리에 대해서.htaccess파일

이미 이 문제를 해결했는지 모르겠지만 보통 db를 플러시하고 사이트에 로그인하여 permalinks에 접속하여 변경 후 저장하기만 하면 됩니다.

http://codex.wordpress.org/Using_Permalinks 를 참조해 주세요.

난 해결책을 찾았어.

WordPress 관리 대시보드로 이동하여 다음 페이지로 이동합니다.

[ Settings ]> [ Permalinks ]> [ Common settings ]를 선택하여 라디오 버튼을 [Custom Structure]으로 설정합니다.

텍스트 상자에 붙여넣습니다.

/index.dev/%year%/%monthnum%/%day%/%postname%/

[저장(Save)]버튼을 클릭합니다.

이 문제는 .htaccess 파일에 대한 쓰기 액세스 권한을 부여하지 않았을 때 발생합니다..htaccess 파일의 권한을 변경하면 문제가 해결됩니다.

나는 그 문제를 에서 해결했다.Settings-> Permalinks확인.Post name의 컨텐츠를 카피합니다..htacces저장 시 표시됩니다.웹 호스팅에 액세스하여.htaccess내용을 붙여넣고 저장합니다.

LetsEncrypt 인증서를 사용하여 https/SSL로 업데이트한 후 이 시나리오가 발생했습니다.

아래 URL의 지침은 유효하지만 000-default.conf를 업데이트하는 대신 "AllowOverride All"로 ssl conf 파일을 업데이트해야 했습니다.

/etc/apache2/sites-available/domainname-le-ssl.conf

https://sachinparmarblog.com/fixing-permalinks-on-wordpress-to-use-postname/

nginx를 사용하고 있으며 워드프레스 퍼머링크를 플레인에서 Post name으로 변경하고 싶다면 다음 행을 nginx 파일에 추가하기만 하면 됩니다.

location / {
  try_files $uri $uri/ /index.php?q=$uri&$args;
}

워드프레스가 특정 폴더에 설치되어 있는 경우 /wordpress를 추가합니다.

location / {
  try_files $uri $uri/ /blog/index.php?q=$uri&$args;
} 

언급URL : https://stackoverflow.com/questions/25322992/change-permalinks-to-postname-cause-page-not-found