1

我已经实现了我的路由器框架,我基本上使用查找表来告诉 url 将是什么。

我原来的 url 有一些像 domain.com?id=26 这样丑陋的东西,现在将有: domain.com/words-that-look-nice

但我的问题是:如果所有页面都将被查找并重定向到,实际的 HTML 标记将在 1 个名为 my_page.php 的文件中 - 对吗?唯一的区别是 my_page.php 对用户的显示会根据正在查找的项目而有所不同,对吗?

如果是这样,那么我该如何对网址进行“屏蔽”?

我的意思是,一旦我知道 url 是什么,我如何使页面 my_page.php 为所查找的特定页面提供所有数据?

如果问题令人费解,谢谢和抱歉:)

4

1 回答 1

2

您首先需要做的是确定您是否可以使用“重写”。如果您使用“mod_rewrite”运行 apache,那么您将能够使用它。

  1. 在根目录... domain.com/ 中创建一个 .htaccess 文件。将以下内容放在那里:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?r=$1 [L,QSA] 
  1. 现在会发生的是所有形式的请求"domain.com/this-is-my-page"都被重写为“domain.com/index.php?r=this-is-my-page”形式

  2. 设置您的路由器以在数据库中查找 r 的值。您的表格将如下所示: ID | 网址 55 | 这是我的第 56 页 | 这是我的下一页

  3. 所以运行类似"SELECT ID FROM router WHERE URL=LOWER('{$r}')". 当然不要忘记检查 sql 注入攻击。

  4. 您现在有了自己的 ID,您可以像现在一样填充页面。

希望有帮助:)

于 2011-02-11T01:47:32.287 回答