我想知道是否有人能够帮助我,我正在尝试使用slug网址制作网站。
目前,如果用户看到网址,那就像
但理想情况下我希望网址为
我在数据库中有一个友好的网友名字,我想用它。
在我的.htaccess文件中,我有以下内容:
RewriteEngine On
RewriteBase /
RewriteRule ^artists-single\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
网站本身是用PHP编写的。
感谢。
答案 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,而不是将任何核心功能更改为其他文件。