答案 0 :(得分:0)
需要在.htaccess文件中完成
有RewriteEngine这样的东西,代码看起来像那样
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^news/([^/]+)/?$ news.php?post_id=$1 [NC,L]
在开始我们打开重写引擎时,前两个条件检查是否没有这样的文件或文件夹 - 在你的情况下新闻
然后我们重写输入我们系统中需要的内容< / p>
答案 1 :(得分:0)
您可以通过网址重写来完成。
网址重写要求服务器针对某些网址请求调用特定文件/脚本。
根据您的服务器运行的软件,您可能已经可以访问URL重写模块。如果没有,大多数主机会为您提供或安装相关模块,如果您非常好地询问它们。
Apache是运行URL重写的最简单系统。它通常带有自己的内置URL重写模块, mod_rewrite ,启用并使用mod_rewrite。
要做到这一点,
您需要先创建一个名为.htaccess
的文本文档,以包含我们的规则。这将放在服务器的根目录中。那里可能已经存在.htaccess文件,在这种情况下我们应该编辑它而不是覆盖它。
现在您的.htaccess
文件看起来像这样,
RewriteEngine On # Turn on the rewriting engine
RewriteRule ^news/post-([0-9]+)/?$ news.php?post_id=$1 [NC,L] # Handling post requests
[NC,L] - 它们被称为标志,告诉Apache如何应用规则。在这种情况下,我们使用两个标志。 NC ,告诉Apache该规则应该不区分大小写,并且 L 告诉Apache如果使用此规则,则不再处理任何规则。
上方 RewriteRule 告诉Apache查找 news.php 文件,其中post-id
传递新闻/帖子 - ([0-9] + )/ 网址。其中 [0-9] 表示任何数字值。
点击此处了解详情:https://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/