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

标签 php .htaccess url url-routing redirect

我正在开发一个项目,并且考虑到 SEO,最明智的方法是动态创建一个不存在的页面。

详细信息

我有一个城镇列表

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

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

**注意:**没有名为 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];

您可以对数据库进行任何进一步的工作...

(从 Laravel 获得的 htaccess 代码)

关于php - 如何在php中动态创建一个不存在的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35364737/

相关文章:

PHP-FPM 在执行繁重工作时用户过多时崩溃

.htaccess - 重写规则以从 URI 中删除所有非字母数字符号

javascript - 定义仅在运行 javascript 函数后附加的 URL 的最佳实践

.htaccess 多语言(别名 URL/友好 URL)

ruby-on-rails - 通过 .htaccess 配置 Phusion 乘客

asp.net - 在 ASP.NET 中,为什么有 UrlEncode() 和 UrlPathEncode()?

java - 为伪装的 URL 地址抛出新的异常

将数据插入数据库的 PHP 脚本在执行时返回成功,但记录未插入数据库?

PHP MySQL : Better Way to Update tag system

javascript - 每当页面刷新时,Javascript 倒数计时器都会重置