【问题标题】:How to realize the wordpress permalink function on an homemade php website如何在一个自制的php网站上实现wordpress永久链接功能
【发布时间】:2015-06-10 16:58:22
【问题描述】:

我正在实现一个 php 网站,我正在尝试以一种可以让我轻松更新它们的方式拆分所有文件。 在我目前的结构中:

  • header.php
  • menu.php
  • footer.php

这些文件包含在以下页面中:

  • page1.php
  • page2.php
  • page3.php

在上面的每一页上,我都写了具体的内容。最后我的网址是:

http://www.example.com/page1.php http://www.example.com/page2.php http://www.example.com/page3.php

但我想做的是重现只使用 index.php 作为输出的 wordpress 结构。

所以,为了更详细一点,我想实现一个 index.php,我将在其中包含一次:

  • header.php
  • menu.php
  • footer.php

并包括 page1.php 内容、page2.php 内容和 page3.php 内容。最后,我需要有一个永久链接作为 URL:

http://www.example.com/page1 http://www.example.com/page2 http://www.example.com/page3

我在网上查过,但似乎网上没有什么对我的需求有用,当我检查“永久链接”时,用户只谈论 wordpress。 你能帮我做这个活动吗? 如果我的要求不是很清楚,或者我在某些方面有问题,请告诉我。 谢谢!

【问题讨论】:

标签: php html mysql css wordpress


【解决方案1】:

感谢@nevermind 建议的链接,我解决了这个问题。下面的解决方案...

  1. 我在以下代码中创建了一个 .htaccess 文件:

RewriteEngine 上
RewriteRule ^page/([^/.]+)/?$ index.php?page=$1 [L]

  1. 我用以下代码创建了一个 index.php 文件:

<html>
   <head>
      <title>Test Page</title>
   </head>
   <body>
      <?php include $_GET['page'].'.php'; ?>
   </body>
</html>
  1. 我将这两个文件与“introduction.php”文件一起上传到同一个文件夹(/test/)中。
  2. 考虑到我想打开“introduction.php”页面,我在浏览器中粘贴了以下 URL:

http://www.example.com/page/test/introduction

就是这样!谢谢你们的支持。我希望这可以帮助其他寻找相同解决方案的用户。

【讨论】:

    【解决方案2】:

    page#.php 必须是这样的:

     <?php 
       include_once('header.php');
       include_once('menu.php');
       //body content of page#
       include_once('footer.php');
     ?>
    

    您仍然会有 3 个具有相同 url 的文件,但页眉、页脚和菜单在页面中将是相同的

    【讨论】:

    • 这是我已经在做的,但不是我要求的……也许我的要求不是很清楚。
    • 你想把 url 映射到 php 文件吗?
    • 我想要一个 index.php 文件,我可以将 page1.php、page2.php、page3.php 的内容附加到该文件中。输出 url 应该是 example.com/page1、example.com/page2、example.com/page3 而不是 example.com/index.php。所以,如果我去 example.com/page1 脚本应该加载 index.php 文件中的 page1.php 内容...如果我去 example.com/page2 脚本应该加载 index.php 中的 page2.php 内容.php 文件
    • 你需要 @nevermind 建议 mod_rewrite,我建议你使用 php 框架(laravel(参见:routes))来实现所需的效果,而无需深入研究 mod_rewrite
    • 是的,我已经这样做了:) 他的建议很完美。感谢您的支持
    猜你喜欢
    • 2011-09-06
    • 1970-01-01
    • 2012-05-09
    • 1970-01-01
    • 2012-09-29
    • 1970-01-01
    • 2011-07-05
    • 1970-01-01
    • 2012-08-30
    相关资源
    最近更新 更多