【问题标题】:How to fix redirection of Post/Page of wordpress inside the wordpress?如何修复wordpress内wordpress的帖子/页面的重定向?
【发布时间】:2022-01-22 15:13:10
【问题描述】:

我在 wordpress 根目录中有 Wordpress。例如www.test.com(主站点)然后我有额外的wordpress,即www.test.com/media(孩子)。一切都很好,但除了帖子和页面。

例如,我在子网站www.test.com/media/1 中创建了 1 个帖子。它总是重定向到主站点的404页面,然后重定向到主站点。

这是主站点的 htaccess。

<Files ~ "^\.ht">
    Deny from all
</Files>

<Files wp-login.php>
    Order deny,allow
    Deny from all
    Allow from all
    #Allow from 127.0.0.1
    AuthType Basic
    AuthName "ENTER YOUR NAME & PASSWORD TO LOGIN"
    AuthUserFile /home/website/.htpasswd
    Require valid-user
    Satisfy any
</Files>

<IfModule mod_rewrite.c>
    RewriteEngine On


    RewriteBase /
    #RewriteRule Something.sso - [L]
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_URI} !\.(gif|css|js|swf|jpeg|jpg|jpe|png|ico|swd|pdf|svg|eot|ttf|woff)$
    RewriteCond %{REQUEST_FILENAME} !-f
    #RewriteCond %{REQUEST_URI} !(^/Something.sso/)
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

</IfModule>

这是我的子目录 .htaccess

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

# END WordPress

【问题讨论】:

  • 那么你做了什么来让第二个 Wordpress 处理任何以/media/ 开头的 URL 请求?
  • @CBroe 站点地址,一般设置中的 wordpress url。我可以访问 www.test.com/media。我还保存了永久链接。唯一有效的固定链接是test.com/media/?p=123。其余的只会重定向到主目录(wordpress)的错误 404 页面。 https://test.com.
  • “我可以访问 www.test.com/media” - 因为那是一个物理存在的目录。但是/media/1不存在,所以顶层的WP安装的.htaccess会把它改写成自己的index.php。您需要添加一些内容,让这些请求“到达”第二个 WP。
  • RewriteRule ^media/ - [L] 这样添加到顶级.htaccess(在现有规则之前)的东西至少应该让请求传递到第二个。试试看,然后看看你是否至少得到了第二个 WP 的 404 页面。
  • 这个问题可能是这里的主题,但如果您改为在WordPress Development 提问,您可能会得到更好的答案。

标签: wordpress .htaccess


【解决方案1】:

致所有努力解决这些问题的人。最近我找到了让它工作的最佳方法。 在您的主要 wordpress 中,在我的情况下是 (www.test.com)。将此添加到您的 root/index.php。将 media 更改为您的子目录 wordpress。

if (strpos($_SERVER['REQUEST_URI'], "/media") === 0)
{
    require (dirname(__FILE__) . '/media/index.php');
}
else
{
    define( 'WP_USE_THEMES', true );

    /** Loads the WordPress Environment and Template */
    require( dirname( __FILE__ ) . '/wp-blog-header.php' );
}

【讨论】:

    猜你喜欢
    • 2015-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-18
    相关资源
    最近更新 更多