我正在努力学习,所以请友善一点。我的网站是数据库驱动的,使用ID号生成页面。我希望URL不显示身份证号码,而是显示页面名称。有没有一种方法可以做到这一点,它只是化妆品,不会影响网站?我也很可能把我写重定向的方式搞砸了,因为它似乎根本不起作用?我做错了什么?非常感谢。
这就是我的URL现在的样子:
http://mydomainname.com/index.php?id=35-Entertainment
我希望它看起来像这样:
http://mydomainname.com/Entertainment
RewriteEngine On
RewriteRule ^([^/d]+)/?$ index.php?id=$1 [L,QSA]
不幸的是,没有办法做到这一点。
这种情况下的过程如下:
- 用户输入一个url。在这种情况下,您需要一个格式良好的URL(http://mydomainname.com/Entertainment)
- 用户将此url发送到您的服务器
- Apache处理url,并根据url中使用的域将其指向您的项目目录
- 在那里,Apache使用htaccess来查看下一步要做什么。在这种情况下,最好的方法很可能是使用
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
或类似的东西 - 然后你需要在你的应用程序中进行路由。例如,您可以使用路由表将格式良好的段塞映射到模块/id组合
Apache无法完成此过程,因为它不知道数据库中存在的内容。
希望这对你有任何帮助。