我正在开发核心php的网站,我有
等链接<a href="news_details.php?news_id=$data['news_id']?>">Read More</a>
所以我的问题是要从所有网站中删除.php扩展名,也要从链接中删除网址,网址必须像http://www.example.com/news/
一样好http://www.example.com/news.php?news_id = 4
所以如果有人知道怎么做,请告诉我
答案 0 :(得分:0)
我将总结我的评论,以便您可以在此处标记此帖子,作为下一个遇到您问题的人的解决方案。这使得以某种方式更容易找到答案
您需要一个支持重写网址的网络服务器。大多数人可能会使用apache2 webserver,支持支持此功能。执行此操作的apache模块称为“mod_rewrite”。您可能(根据您的配置)需要先启用它。
干净漂亮的网址称为“智能网址”,因为这个术语可以更轻松地搜索教程,指南和答案。
要使mod_rewrite工作并重写URL,您需要为当前项目/目录启用模块并编写一些规则。
您可以在.htaccess文件中执行此操作,对于您的示例,它看起来像这样:
<强> htaccess的:强>
RewriteEngine On
RewriteRule ^news/([0-9]+)\.?.*$ news.php?id=$1 [NC,L]
这将导致服务器内部(并且没有用户可以看到)重写这样的内容:
http://www.foo.de/news/1337.my-awesome-first-newspost
到
http://www.foo.de/news.php?id=1337
备注:新闻ID背后的所有内容均被忽略
正如您所见,规则被编写为正则表达式,使您能够创建非常灵活的规则。
您还可以编写多个依赖的规则,或者只在之后使用 。
我找到了一个页面,可以让你测试你的规则,因为在你的服务器机器上执行它时总是有点“调试”: