apache - 使用 .htaccess 删除链接地址中的 ID 号

标签 apache .htaccess mod-rewrite url-rewriting get

我有这个链接,可以使用并指向正确的文章:

<a href="https://www.example.com/news/21/Hello-World">Article</a>
但是我不希望链接显示 ID 号,我希望链接看起来像这样:

<a href="https://www.example.com/news/Hello-World">Article</a>
这是我的 .htaccess 文件中的内容,任何帮助将不胜感激,谢谢:

Options -MultiViews
ReWriteEngine On
RewriteBase /
RewriteRule ^news/(\d+)/([\w-]+)/?$ news.php?id=$1&linkAddress=$2 [NC,L,NE]

是否可以从链接中删除 21 id,但仍使用该 id 从数据库获取变量。谢谢。

最佳答案

您能否尝试以下基于示例编写的内容。将这些网址放入 .htaccess 文件后,请确保清除浏览器缓存。另请确保此新规则高于您现有的 news.php 规则(如示例中所示)。

RewriteEngine ON
RewriteRule ^(news)/(Hello-World)/?$ $1/21/$2 [NC,L]

##Placing OP's rule to serve urls starting with news with news.php in backend.
RewriteRule ^news/(\d+)/([\w-]+)/?$ news.php?id=$1&linkAddress=$2 [NC,L,NE]

关于apache - 使用 .htaccess 删除链接地址中的 ID 号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65315344/

相关文章:

apache - htaccess 拒绝访问文件,除非从服务器上的特定子文件夹访问

java - 使用 Apache Poi 从 Excel 工作簿中删除工作表后,还剩下一个工作表吗?

.htaccess - htaccess 重定向不适用于带参数的 URL

php - Cpanel Htaccess 强制 URL

php - htaccess 中的自定义 404 错误处理程序不适用于不存在的 ".php"文件

php - 在重写 .htaccess 时保留查询字符串

.htaccess - 动态 .htaccess 重定向

使用 LDAP 授权的 Apache 客户端证书身份验证

apache - 在不同的端口上部署两个不同的应用程序

apache - .htaccess 将查询字符串重写为路径