我的网站上有一个动态显示内容的页面。网址结构是mywebsite.com/giveaway/giveaway.php?id=(any number)
我希望将该动态 URL 更改为静态/友好 URLmywebsite.com/giveaway/name-of-giveaway-corresponding-to-id
。
在我的根文件夹中找到的 .htaccess 文件中,我有以下内容:
RewriteEngine On
# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} \s/+\?page=([^\s&]+) [NC]
RewriteRule ^ /page/%1? [R=301,L]
# existing rule
RewriteRule ^page/([^/]+)/?$ /?page=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [L]
当前的 .htaccess 文件删除了 .php 并重定向并更改了我网站上的 URL
mywebsite.com?page=number
to mywebsite.com/page/number
我知道你必须从我的数据库中获取与 php 中的 ID 相对应的名称并使用它,但我不确定如何在 .htaccess 文件中编写代码或如何使用和传递数据库中的结果。谢谢你的帮助!
我不知道这是否是你的意思,但你无法将作为底层 Apache 服务器层一部分的重写引擎连接到数据库,而数据库必须通过 php 访问。
所以你不能直接将“name-of-giveaway-corresponding-to-id”重写为id,你需要将其重写为类似giveaway.php?nameofgiveaway=(name of Giveaway)的内容,然后在数据库中搜索那个字符串。
您的方法是添加重写规则,例如
RewriteRule ^giveaway/([^/]+)$ giveaway.php?nameofgiveaway=$1 [L,QSA]
(未经测试,如果有问题请原谅)并搜索 $_GET['nameofgiveaway']。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)