我正在做一个项目,我正在考虑SEO,解决这个问题的最聪明的方法是动态创建一个不存在的页面。
详
我有一个城镇列表
- 得克萨斯州
- 德里
- 多伦多
- 悉尼
这些链接看起来像 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 参数。
这是一个简单的教程:模组重写教程