将标题重写为:更改.htaccess路由器以将id转换为标题
P粉464082061
P粉464082061 2024-01-16 19:15:07
0
1
389

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

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

#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= [NC,L,QSA]
RewriteRule ^news/([a-zA-Z]+)?$ index.php?url=news&name= [L]
RewriteRule ^news/(.*)$ index.php?url=news&name= [L]

P粉464082061
P粉464082061

全部回复(1)
P粉205475538

您可以使用以下规则:

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

这将支持以下URI:

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

使用的模式是:

  • ^:开始
  • (news):匹配并分组news
  • /:匹配/
  • (?:.*/)?:匹配任何文本后面跟着/。这是可选匹配
  • (\d+):在捕获组#2中匹配1个或多个数字
  • /?$:在结尾处匹配可选的/
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!