如何在 php 中动态创建不存在的页面


How to dynamically create a none existing page in php

我正在做一个项目,我正在考虑SEO,解决这个问题的最聪明的方法是动态创建一个不存在的页面。

我有一个城镇列表

  1. 得克萨斯州
  2. 德里
  3. 多伦多
  4. 悉尼

这些链接看起来像 http://xxxxx.com/texas

**

注意:**没有名为德克萨斯的文件.php

我有一个模板页面,可以从单击的城镇的数据库中获取。

我希望链接看起来像这样 http://xxxxx.com/schools-in-texas

这应该显示一个页面,其中模板显示使用工作"texas"查询数据库后数据库的结果

这应该适用于其他城镇,例如 http://xxxxx.com/schools-in-toronto

首先,您应该将任何未找到的页面路由到 php 脚本。

在你.htaccess文件中:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>
    RewriteEngine On
    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]
    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

然后,您可以以字符串形式获取 URL 并获取所需的部分。

例如,如果您访问 yoursite.com/Texas 以下脚本将返回/Texas

<?php
echo $_SERVER[REQUEST_URI];

您可以在数据库上做任何进一步的工作...

(从拉拉维尔那里得到的htaccess代码(

你必须使用 apache 的模式重写规则。有了它,您可以解析您的 URL 并设置要在响应页面请求的控制器文件中使用的 GET-String 参数。

这是一个简单的教程:模组重写教程