我正在使用自定义cms在php/mysql中创建一个站点。
它的布局如下:
MYSQL数据库表名、标题、描述、关键字、内容
CMs连接到数据库,列表内容获得id编辑标题,描述,关键词,内容保存回数据库
网站连接到DB,其中title=home
php页面示例
<?php //connect to database ?>
<html>
<title><?php echo $title;?></title>
<meta name="description" content="<?php echo $description; ?>" >
<meta name="keywords" content="<?php echo $keywords; ?>" >
<body>
<?php echo $content; ?>
</body>
<?php include_once("footer.php"); ?>因此,想法是连接到页面并提供标题,标题将连接到数据库,从表中检索适当的行并显示页面,例如:
http://www.mysite.com/index.php?title=home
将显示网站的主页。
是否有从url中删除index.php?title=并仍然传递变量的方法,以便用户访问http://www.mysite.com/home
我认为是通过编辑.htaccess文件来实现的,但我不确定?
发布于 2012-07-25 15:59:43
您可以使用mod_rewrite来完成它。把这个放在你的.htaccess中:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?title=$1 [L]这些行会像http://www.mysite.com/var或http://www.mysite.com/var/一样将每个url重定向到http://www.mysite.cm/index.php?title=var。
这种重定向将是透明的。
我建议您查看一些有关URL重写和mod_rewrite的文档,以便最好地理解这些行,并能够创建自己的行。
https://stackoverflow.com/questions/11653572
复制相似问题