重写php应用程序以获得seo友好的URL

我有PHP应用程序必须部分重写,因为客户要求有SEO frendly urls.

我的链接如下:

www.mysite.com/articles_en.PHP?artid=89,我必须在这里更改网址:

www.mysite.com/articleTitle

然后我有这个网址:

应该成为www.mysite.com/halls.PHP?fairid=65

www.mysite.com/fairname

应该成为www.mysite.com/companies.PHP?fairid=65\u0026amp;hallid=23

www.mysite.com/fairname/hallname

你明白了.

我需要帮助这个方法.在展览会,大厅和文章的表格中,在表格中创建一个以别名命名的字段然后尝试重写网址是不是一个好主意?任何人都可以帮助我完成如何创建此脚本的步骤,或指向我更好的方法

我擅长PHP,但对正则表达式并不擅长,所以我会迷失在.htaccess部分.

任何帮助将深表感谢.

此致,佐兰

解决方法:

.htaccess之类的东西:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*) /url_rewrite.PHP?path=$1 [L,QSA]

数据库表类似于:

+------+--------+
| path | url    |
+------+--------+

将路径作为PRIMARY KEY.

并且一个名为url_rewrite.PHPPHP脚本从URL获取path参数,在数据库上查找以查找真实URL并执行HTTP 301重定向.

url_rewite.PHP页面可能看起来像这样(这几乎是样板代码,需要调整以满足您的要求 – 实际上我们不应该再使用MysqL_query() – PDO或MysqLi更好,并且不是很好,已弃用).

<?PHP
// -- database connection and any intialisation stuff you may have might go here ...

//get the path
$sPath = !empty($_GET['path']);

// -> error trapping for empty paths here

//retrieve the "real" url from the database
$dbQry = MysqL_query("SELECT `url` FROM `SEOurls` WHERE `path` = '" . MysqL_real_escape_string($sPath) . "' LIMIT 0, 1");

// -> error trapping here for query errors here

$dbResponse = MysqL_fetch_row($dbQuery);

// -> error trapping here for empty recordsets here

$sRealPath = $dbResponse[0]; # which might be "/articles_en.PHP?artid=89"

//redirect
header("HTTP/1.1 302 Found");
header("Status: 302 Found"); # for Chrome/FastCGI implementation
header("Location: {$sRealPath}");
die();

?>

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...