.htaccess slug url

时间:2014-06-09 14:19:34

标签: .htaccess slug

我想知道是否有人能够帮助我,我正在尝试使用slug网址制作网站。

目前,如果用户看到网址,那就像

  

http://www.thedomain.com/artists-single.php?aid=123

但理想情况下我希望网址为

  

http://www.thedomain.com/artist/artist-name

我在数据库中有一个友好的网友名字,我想用它。

在我的.htaccess文件中,我有以下内容:

RewriteEngine On
RewriteBase /
RewriteRule ^artists-single\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

网站本身是用PHP编写的。

感谢。

2 个答案:

答案 0 :(得分:2)

您可以让Apache访问MySql并映射" artist-name"到它的相应ID,see here(感谢@Marc B的链接)。但是,您也可以这样做(这是我个人使用的),

RewriteRule ^artist/([a-zA-Z0-9]+)/?$ /artist-single.php?artist=$1 [L]

然后在PHP中使用$_GET['artist']来获取值,然后针对数据库查询该内容以获取艺术家的ID。或者您可以使用ID,例如

RewriteRule ^artist/([0-9]+)/?$ /artist-single.php?aid=$1 [L]

网址就像www.example.com/artist/123,它会将ID传递给$_GET['aid']

答案 1 :(得分:0)

我建议你使用一个非常简单的前端控制器。这将让您最头痛,应该相当简单地查看您当前的设置。快速了解更多详情:http://www.technotaste.com/blog/simple-php-front-controller/

但是为了给你一个快速的起点,一个Front Controller将是“第一部分”被执行,传统上这是“index.php”文件。使用此Front Controller,您可以使用SEO友好的URL,而不是将任何核心功能更改为其他文件。