我目前在我的网站上有这样的链接:
http://www.domain.com/locations/locationProfile.php?locationID=22
我希望,出于搜索引擎优化的目的,我可以将其更改为:
http://www.domain.com/locations/southern-maryland
“Southern Maryland”目前从一个mysql数据库中取出作为位置ID 22的位置名称。当我的网站结构目前使用吸引力较低的第一个版本时,是否甚至可以将其插入到URL中?
答案 0 :(得分:0)
您无法使用htaccess为您执行此操作。可以使用您可以在服务器配置中定义的RewriteMap
(无法在htaccess文件中定义它),但如果您只是在locationProfile.php
脚本中执行此操作,则会更容易。
您可以使用REQUEST_URI值检测是否使用查询字符串发出请求:
if ( $_SERVER['REQUEST_URI'] == '/locations/locationProfile.php' &&
isset($_GET['locationID'])) {
// go into DB and extract the location name then redirect
header('Location: /locations/' . $location-name);
}
然后在文档根目录中的htaccess文件中:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^locations/([^/]+)$ /locations/locationProfile.php?locationName=$1 [L,QSA]
最后,让你的php脚本查找locationName
参数,并根据它而不是ID来服务正确的页面。