Maison  >  Questions et réponses  >  le corps du texte

Réécrivez l'en-tête comme suit : Changez le routeur .htaccess pour convertir l'identifiant en en-tête.

J'utilise PHP pour mon travail. Mon fichier htaccess est le suivant :

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

#Redirecciones
#Redirect 301 / /index.php

# Quickregister Rules
ErrorDocument 404 /error.php

Maintenant, pour accéder aux actualités, le routage devrait ressembler à ceci :

http://localhost/news/3

Je souhaite modifier l'accès selon la méthode suivante :

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

J'ai essayé les règles de réécriture suivantes sans succès :

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粉464082061P粉464082061251 Il y a quelques jours388

répondre à tous(1)je répondrai

  • P粉205475538

    P粉2054755382024-01-17 18:15:01

    Vous pouvez utiliser les règles suivantes :

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

    Cela prendra en charge les URI suivants :

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

    Le mode utilisé est :

    • ^ : Commencez
    • (news):匹配并分组news
    • /:匹配/
    • (?:.*/)?:匹配任何文本后面跟着/. C'est un match facultatif
    • (d+) : Faites correspondre 1 ou plusieurs numéros dans le groupe de capture n°2
    • /?$:在结尾处匹配可选的/

    répondre
    0
  • Annulerrépondre