URL重写:"index.php?id = 5"到"home.html"

Zak*_*ria 3 php url-rewriting

我正在使用php和"template.inc"类开发一个网站.问题是我想创建一个mini-cms,允许管理员创建一个带有这些mysql属性的"html"页面:

Table Name : Page
-----------------
id   :auto-icremented) 
name :varchar
Run Code Online (Sandbox Code Playgroud)

在架构中,如果他创建了页码"5",则URL为

"ww.mywebsite.com/index.php?id=5".
Run Code Online (Sandbox Code Playgroud)

但是,这并不是非常类似的,因为即使我阅读了很多教程,我也很难重写网址,我想输入名称+"html"来访问该页面.

如果我们举例说明

"www.mywebsite.com/index.php?id=5"
Run Code Online (Sandbox Code Playgroud)

如果管理员创建了包含以下值的页面:

id   : 5
name : 'home'
Run Code Online (Sandbox Code Playgroud)

我希望用户可以输入

"www.mywebsite.com/home.html" 
Run Code Online (Sandbox Code Playgroud)

没有重定向,因为我希望这最后的网址仍然必须出现并成为官方网址.

感谢您的回答,我知道如何将www.mywebsite.com/index.php?id=5重写为www.mywebsite.com/5.html ......但问题是我想首先获得"在我的例子之前和之中命名"vale",名称值为"home"(5 =>'home').如何使用url重写引擎访问我的数据库?

非常感谢,问候.

Nic*_*ole 5

使用标准Wordpress安装中的.htaccess文件将所有内容重定向到一个PHP文件.像这样......

<IfModule mod_rewrite.c>
    RewriteEngine On
    # Base is the URL path of the home directory
    RewriteBase /
    RewriteRule ^$ /index.php [L]

    # Skip real files and directories
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule .* /index.php [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

然后$_SERVER['REQUEST_URI']用来弄清楚用户在寻找什么..*如果要使规则更具体,请修改,例如.*\.html.