【发布时间】: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,无论是:文章、页面、类别还是您能想到的任何内容。
期待你的想法!
【问题讨论】:
-
您所描述的部分内容听起来像路由器,通常用于框架。 Zend Framework - CakePHP Symfony2
标签: php mysql apache mod-rewrite seo