PHP自定义URL Slug

时间:2017-06-15 20:58:45

标签: php .htaccess mod-rewrite

我的网站主要是数据库驱动的,有几个页面是硬编码的html文件(联系人和地图)。所有其他页面都存储在数据库中。

如何设置我的htaccess以允许用户执行此操作,而根本不更改网址?

www.website.com/contact   ( - 实际加载contact.html页面)

www.website.com/about   (实际加载about.html页面)

www.website.com/anything   ( - 实际加载page.php?title = any)

编辑:我的更新代码

RewriteEngine on
# RewriteBase /mcw/
 # i've tried with and without rewritebase

RewriteRule ^(contact|about|index)$ /$1.html
RewriteCond %{REQUEST_URI} !^/(?:contact|about|index)\.html$
RewriteCond %{REQUEST_URI} !^/(?:admins|css|fonts|img|inc|js)/
RewriteRule ^(.*)$ /page.php?name=$1 

1 个答案:

答案 0 :(得分:0)

你可以这样做:

RewriteRule ^(contact|about)$ /$1.html
RewriteCond %{REQUEST_URI} !^/(?:contact|about)\.html$
RewriteCond %{REQUEST_URI} !^/(?:page\.php|images|scripts|css)/
RewriteRule ^(.*)$ /page.php?title=$1 

我假设你还有你不想重写的图片,css等,所以我排除了/images/scripts/css个人。您需要进行修改以满足您的需求,或者在不需要时删除该行。