我正在开发一个项目,并且考虑到 SEO,最明智的方法是动态创建一个不存在的页面。
详细信息
我有一个城镇列表
- 德克萨斯州
- 德里
- 多伦多
- 悉尼
这些链接看起来像 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/