0

我不知道该怎么说,所以我会尽力解释。我用 PHP 为 CMS 编写了一个插件系统。但是,插件包含在它们自己的文件夹中,带有插件的页面可能如下所示:

 http://www.mysite.com/plugins/forum/index.php

但是,这看起来很难看,并且明显暴露了插件系统的站点结构。到目前为止,我一直在解决这个问题:

 http://www.mysite.com/page.php?id=forum

但这仍然有点丑陋,即使它比后者更干净。但是,我想知道是否可以创建一个“虚拟”页面,它实际上只是我想要的页面的别名。所以

 http://www.mysite.com/forum.php points to http://www.mysite.com/plugins/forum/index.php

虽然我可以手动在根 forum.php 中创建一个页面,但我想知道是否有某种方法可以自动化它。换句话说,当用户调用不存在的 forum.php 时,我有一个 404 页面包含一段 PHP 代码,该代码确定正在调用什么(如果它是未知页面调用,则抛出 404)。换句话说,如果我请求forum.php,一段代码会查询数据库以找到链接器,如果找到了,则返回该特定URL 下的页面内容。

我希望这不会太混乱。让我知道是否有点难以理解这个想法......我将不胜感激任何帮助!

4

1 回答 1

1

如果您使用的是 apache,解决方案是使用 mod_rewrite (.htacces)

.htaccess 技巧和窍门

这个想法是在用户访问时在内部重定向到您的插件

http://www.mysite.com/forum.php

例如:你把它放在你的 webroot 的 .htaccess 文件中

RewriteEngine on
RewriteRule ^forum\.php$ /plugins/forum/index.php.php [QSA]
于 2012-08-21T15:32:29.190 回答