【问题标题】:PHP Class OOP Based Apache Mod Rewrite System (Permalinks - Friendly URL's)基于 PHP 类 OOP 的 Apache Mod 重写系统(永久链接 - 友好的 URL)
【发布时间】:2012-01-19 17:27:59
【问题描述】:

现在我一直在网上搜索似乎是个谜,或者我正在寻找错误的东西,但是有没有人知道使用 Apache Mod 管理 PHP 中“漂亮 URL”的任何好的面向对象方法重写可以动态运行,比如MySQL之类的数据库?

我一直在用我目前但“有限”的 PHP 知识尝试一些方法。我了解使用此 .htaccess 文件,您可以请求一个文件的所有 URL,同时访问其他文件夹(只要它们存在):

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>

这一切都很好,花花公子。我也知道你可以像这样爆炸服务器路径:

$path = explode('/', $_SERVER['PATH_INFO']);

我正在寻找与 WordPress 如何处理其永久链接系统的功能类似的东西,您可以创建几乎任何 URL,系统将知道如何处理请求以及如何在请求时显示和编写 URL用于重定向或页面上。

这要求太多了吗?还是我需要重新发明轮子?这一直困扰着我很长一段时间,我找不到一个可扩展的解决方案,我可以“开箱即用”并根据我的需要进行定制——也许有,你能启发我吗? ;)

我在想你可以通过以下方式定义规则:

$rewrite_object->addRule(array(
    'Page' => array(
        'label' =>  'Page',
        'rewrite' => '/'
    )
));

这将由上面示例中的类实例控制,但希望您能看到我想要表达的内容。

我希望我已经尽可能地解释了这一点!澄清一下 - 我需要一种解决方案来创建结构化、易于维护、高度可扩展的方式,为各种内容创建 SEO 友好的 URL,无论是:文章、页面、类别还是您能想到的任何内容。

期待你的想法!

【问题讨论】:

标签: php mysql apache mod-rewrite seo


【解决方案1】:

您正在寻找的是router(如果我没有误解您的问题的话)。

例如查看Zend Framework 是如何做到的。

自己实现一个路由器会很简单。

【讨论】:

  • 这到底有多容易?你的意思是使用 Zend 还是编写我自己的?你有什么例子吗。谢谢!
  • 我自己写了一个(为我自己的自定义框架),并没有花很长时间(不到一天)。只要看看其他框架是如何做的就可以得到一个想法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-04
  • 1970-01-01
  • 2014-12-11
  • 2017-08-24
  • 1970-01-01
相关资源
最近更新 更多