将标题重写为:更改.htaccess路由器以将id转换为标题
P粉464082061
P粉464082061 2024-01-16 19:15:07
[PHP讨论组]

我正在使用PHP进行工作。 我的htaccess文件如下:

RewriteEngine On
RewriteRule ^news/([a-zA-Z0-9_-]+)(|/)$ index.php?url=news&id=$1

#Redirecciones
#Redirect 301 / /index.php

# Quickregister Rules
ErrorDocument 404 /error.php

现在,要访问新闻,路由应该是这样的:

http://localhost/news/3

我想要改成以下方式访问:

http://localhost/news/mi-noticia-nueva
http://localhost/news/mi-noticia-nueva/3

我尝试了以下重写规则但没有成功:

RewriteRule ^news/(\d+/[\w-]+)$ index.php?url=news?id=$1 [NC,L,QSA]
RewriteRule ^news/([a-zA-Z]+)?$ index.php?url=news&name=$1 [L]
RewriteRule ^news/(.*)$ index.php?url=news&name=$1 [L]

P粉464082061
P粉464082061

全部回复(1)
P粉205475538

您可以使用以下规则:

RewriteRule ^(news)/(?:.*/)?(\d+)/?$ index.php?url=$1&id=$2 [L,QSA,NC]

这将支持以下URI:

/news/mi-noticia-nueva/3
/news/3

使用的模式是:

  • ^:开始
  • (news):匹配并分组news
  • /:匹配/
  • (?:.*/)?:匹配任何文本后面跟着/。这是可选匹配
  • (\d+):在捕获组#2中匹配1个或多个数字
  • /?$:在结尾处匹配可选的/
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号