programing

블로그 폴더 외부에 있는 index.php 콘텐츠를 로드하여 한 페이지를 게시합니다.

megabox 2023. 3. 10. 21:23
반응형

블로그 폴더 외부에 있는 index.php 콘텐츠를 로드하여 한 페이지를 게시합니다.

저는 정적 PHP 웹사이트용 WordPress로 블로그 페이지를 만들고 있습니다.블로그 페이지 URL이 변경되는 경우pretty permalink(example.com/blog/my-post-page콘텐츠 로드(index.direct에는 리다이렉트되지 않고 콘텐츠 로드 및 URL만 http://example.com/blog/my-post-page)과 같습니다.index.php(내 사이트의 홈페이지)가 아닌 블로그 폴더 외부에 있는 경우single.php내용물.

permalink가 로 변경되는 경우default(example.com/blog/?p=123)는 완벽하게 동작합니다.

http://example.com/blog/my-post-page의 URL이 필요합니다.

편집 : - 퍼멀링크를 커스텀 구조로 업데이트했습니다./index.php/%postname%/하지만 현재 포스트 페이지는example.com/blog/index.php/my-post-page.

새로운 WordPress 버전에서 문제가 제기되었다고 생각합니다.(버전 4.2.2).삭제할 솔루션index.phpURL에서?

내 디렉토리 구조:-

/                                          - Root
/blog                                      - Blog folder
/blog/wp-content/themes/mytheme/           - Theme folder
/blog/wp-content/themes/mytheme/single.php - Post Single page

/index.php                                 - Home page (Loading contents of this file)

내 htaccess:-

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

루트 폴더에서 index.php를 삭제/이름 변경하면 페이지에 not found 오류가 나타납니다.

htaccess당신의 경우 URL 개서를 위한 regex 식을 쓸 수 있습니다.

RewriteRule ^/blog/\(.+)$ /blog/index.php?postname=$1

이 행은 url이 다음 행으로 시작하는 경우/blog/그 뒤에 무엇이든지/에게 전달될 것이다/blog/index.php~하듯이postname파라미터를 지정합니다. example.com/blog/my-post-page라고 고쳐쓰게 될 것이다example.com/blog/index.php?postname=my-post-page

이 규칙에서 어떤 것도 제외할 수 있습니다.

예를 들어, 이것을 제외합니다./blog/wp-content/themes/mytheme/이런 식이에요.

RewriteRule ^(?!/(.+)/(.+)/(.+)/(.+))/blog/\(.+)$ /blog/index.php?postname=$1

그건 작동할 거야.

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

여기서 두 가지를 변경해야 합니다.permalink로./%postname%/.

.htaccess를 다음과 같이 변경합니다.

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

언급URL : https://stackoverflow.com/questions/30256393/loading-index-php-contents-which-located-outside-blog-folder-for-post-single-pag

반응형