gpt4 book ai didi

php - 加载位于博客文件夹外部的 index.php 内容以发布单页

转载 作者:可可西里 更新时间:2023-10-31 22:15:13 24 4
gpt4 key购买 nike

我正在为我的静态 PHP 网站创建 博客 页面作为 WordPress。当博客页面 URL 更改为 pretty permalink (example.com/blog/my-post-page) 时,加载内容(不重定向到 index.php,仅加载内容和URL 将类似于 index.php(我网站的主页)的 http://example.com/blog/my-post-page ),它位于 blog 文件夹之外,而不是 single.php 内容。

permalink 更改为 default (example.com/blog/?p=123) 时,它将完美运行。

我需要 URL 作为 http://example.com/blog/my-post-page .

编辑:- 我已将自定义结构的固定链接更新为 /index.php/%postname%/。但是现在帖子页面显示为 example.com/blog/index.php/my-post-page

我认为新的 WordPress 版本提出了这个问题。 (版本 4.2.2)。从 URL 中删除 index.php 的任何解决方案?

我的目录结构:-

/                                          - 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 时,页面将显示未找到错误。

最佳答案

htaccess 中,您可以为 url 重写编写任何正则表达式在你的情况下

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

关于php - 加载位于博客文件夹外部的 index.php 内容以发布单页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30256393/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com