如何在 php 中动态创建 none 现有页面
How to dynamically create a none existing page in php
我正在做一个项目,我正在考虑 SEO,解决这个问题的最聪明的方法是动态创建一个 none 现有页面。
详情
我有一个城镇列表
- 德克萨斯州
- 德里
- 多伦多
- 悉尼
这是 link 看起来像 http://xxxxx.com/texas
**注意:**没有名为texas.php
的文件
我有一个模板页面,它根据所点击的城镇从数据库中获取。
我希望 link 看起来像这样 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 ^(.*)/$ / [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
然后你可以得到URL作为一个字符串,得到你需要的部分。
例如,如果您访问您的网站。com/Texas 以下脚本将 return /Texas
:
<?php
echo $_SERVER[REQUEST_URI];
你可以在数据库上做任何进一步的工作...
(从 Laravel 获得的 htaccess 代码)
您必须使用apache 的模式重写规则。这样您就可以解析 URL 并设置 GET-String 参数以用于响应页面请求的控制器文件。
这是一个简单的教程:
Mod-rewrite tutorial
我正在做一个项目,我正在考虑 SEO,解决这个问题的最聪明的方法是动态创建一个 none 现有页面。
详情
我有一个城镇列表
- 德克萨斯州
- 德里
- 多伦多
- 悉尼
这是 link 看起来像 http://xxxxx.com/texas
**注意:**没有名为texas.php
的文件我有一个模板页面,它根据所点击的城镇从数据库中获取。
我希望 link 看起来像这样 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 ^(.*)/$ / [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
然后你可以得到URL作为一个字符串,得到你需要的部分。
例如,如果您访问您的网站。com/Texas 以下脚本将 return /Texas
:
<?php
echo $_SERVER[REQUEST_URI];
你可以在数据库上做任何进一步的工作...
(从 Laravel 获得的 htaccess 代码)
您必须使用apache 的模式重写规则。这样您就可以解析 URL 并设置 GET-String 参数以用于响应页面请求的控制器文件。
这是一个简单的教程: Mod-rewrite tutorial