我正在使用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]
1条答案
按热度按时间c86crjj01#
您可以使用此规则:
这将支持以下URI:
使用的模式为:
^
:开始(news)
:匹配并分组news
/
:匹配/
(?:.*/)?
:匹配后跟/
的任何测试。这是可选匹配(\d+)
:匹配捕获组#2中的1+个数字/?$
:匹配结尾之前的可选/