Wordpress - 与主站点一起显示我的博客

时间:2011-12-28 08:10:54

标签: php wordpress

我的主要基于PHP的网站已在我网站的根文件夹中运行。让我们称之为www.example.com。我的页面很少。一些导航链接是:

主页|服务|关于我们|联系我们

我想在此添加一个Wordpress博客..所以我所做的就是。

主页|博客|服务|关于我们|联系我们

请注意,我现在已经在网站的根文件夹中创建了一个名为“blog”的子文件夹,我已将所有Wordpress“文件”上传到博客文件夹中。因此,如果我想访问我的博客,截至目前,我将访问:www.example.com/blog

到目前为止,还可以。现在,当我向博客添加新帖子时,我不希望人们在尝试阅读帖子时看到URL中的“/ blog”。我浏览了以下链接,但没有帮助:Giving WordPress Its Own Directory

如果人们只是想要托管他们的Wordpress网站,那么上述链接将有所帮助。它只是有助于保持根文件夹清洁并仍然从根文件夹访问URL。但事实并非如此。我已经在根文件夹中运行了基于PHP的网站。我只是想 博客是一个补充,但跳过显示它添加在另一个文件夹中。

我在wordpress的管理面板中做了以下更改:

在“设置>常规”页面中:

WordPress地址(URL):www.example.com/blog

网站地址(URL):www.example.com

在“永久链接设置”页面中,选择此选项:http://www.example.com/sample-post/

现在,主页&其他页面加载正常。

问题:

当我访问: www.example.com/blog 时,它说:

“这有点尴尬,不是吗? 看来我们找不到你想要的东西。也许搜索或下面的链接之一可以提供帮助。“

  1. 我不明白为什么在我希望看到帖子时看到上述内容。有一个Hello Word样本帖子。我希望看到一个链接,但这没有发生。为什么会这样?

  2. 此外,如果我点击主页链接,它会将我带到网站的主页,这是正确的。但是,如果我点击“样本页面”菜单链接或“最近的位置”下的“Hello World”链接,地址栏中会显示以下URL: www.example.com/hello-world/ 但是,它没有向我显示帖子。相反,它加载我的网站的根文件夹的index.php页面,这不应该发生。看起来好像没有加载CSS文件,因为它删除了所有的CSS。因此,当我访问时,会出现index.php页面的CSS剥离版本:www.example.com/hello-world /

  3. 我试图为此找到解决方案,但所有这些都导致了“给WordPress自己的目录”帖子。并且该页面中提到的解决方案不适用于我的情况。怎么解决这个问题?所有帮助表示赞赏。

    谢谢。

2 个答案:

答案 0 :(得分:1)

方法I

这会很脏,我不确定这是否会起作用,但是尝试做下面的事情(我希望你的网站是程序性的,而你没有使用任何框架,否则这会使事情变得复杂) :

  1. 将博客放在您的文档根目录中,这样所有WP链接都可以“自然地”工作。
  2. 将您的网站文件放入site/子文件夹。
  3. 现在,我们将使用.htaccess做一些魔术并通过在RewriteEngine on之后添加以下代码来重写您的“网站”链接:

    # do this for all pages of your site:
    RewriteRule ^services/?$ /site/services/$1 [L,QSA]
    # now let's try to trick WordPress and swap / with /blog
    # so users will see /blog in adressbar, but we'll show the WP homepage
    RewriteRule ^blog/(.*)?$ /$1 [L,QSA]
    
  4. 现在我们应该让WP认为/blog实际上是/,所以它不会引起任何怀疑。将以下脚本放在Wordpress的index.php文件中,然后再添加任何其他代码:

    if( $_SERVER['REQUEST_URI'] == '/' ){ // original site homepage requested
        include('./site/index.php');
        exit;
    }
    
    if( trim($_SERVER['REQUEST_URI'], '/') == 'blog' ){
        $_SERVER['REQUEST_URI'] = '/';
        $_SERVER['QUERY_STRING'] = '';
    }
    
  5. 我没有测试任何东西,但你应该玩这些。

    方法II

    我不是一个高级的WP用户,但是如果从@ bingjie2680回答永久链接的建议会改变网址,那么除了那个答案之外你还可以再试一次。将类似于以下行的内容添加到文档根目录中的.htaccess(而不是WP的那个):

        RewriteCond %{REQUEST_URI} !^(services|about|or_other_stuff)/?$
        # Rewrite the request to call the WP index.php.
        RewriteRule ^(.*)$ /blog/index.php/$1 [L,QSA]
    

    也许有其他方法,也许真正的解决方案会混合这两种方法。 继续尝试。

答案 1 :(得分:0)

如果您执行以下操作,我认为不会出现问题:

  • 无需更改原始网站中的任何内容。
  • 在根目录中创建一个名为blog的文件夹,并将所有wordpress文件放在此处。
  • 按照快速的五步设置您的博客
  • 您的wordpress网址和网站网址都应 yourdomain.com/blog
  • 在“永久链接设置”页面中,选择此选项:www.example.com/sample-post /
  • 保持您的菜单:首页|博客|服务|关于我们|联系我们 将'blog'指向yourdomian.com/blog

现在,如果您点击博客菜单,您的网站网址将是yourdomian.com/blog,但如果您点击其中一个帖子说'hello world',那么您的网址将是yourdomian.com/hello-world。