Heim  >  Fragen und Antworten  >  Hauptteil

Schreiben Sie den Header um: Ändern Sie den .htaccess-Router, um die ID in den Header umzuwandeln

Ich verwende PHP für meine Arbeit. Meine htaccess-Datei lautet wie folgt:

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

#Redirecciones
#Redirect 301 / /index.php

# Quickregister Rules
ErrorDocument 404 /error.php

Um nun auf Nachrichten zuzugreifen, sollte das Routing so aussehen:

http://localhost/news/3

Ich möchte den Zugriff auf die folgende Methode ändern:

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

Ich habe die folgenden Umschreiberegeln erfolglos ausprobiert:

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 Tage vor394

Antworte allen(1)Ich werde antworten

  • P粉205475538

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

    您可以使用以下规则:

    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个或多个数字
    • /?$:在结尾处匹配可选的/

    Antwort
    0
  • StornierenAntwort