So ändern Sie bereits funktionierende GET-Abfragen mit der Änderung der angeforderten GET-Daten mithilfe von htaccess in PHP
Ich bin sicher, wenn ich hier im Stackoverflow mit den Anforderungen poste, kann ich die Lösungen erhalten.
Ich arbeite an einer Webanwendung, in der ich Seiten habe und auf jeder Seite befinden sich Beiträge, Funktionen und Fragen. Für die ich zwei Tabellen in SQL posts
und habe questions
. Was ich jetzt möchte, ist:
1: Wenn ein Benutzer auf den Post-Link (innen auf der Seite) klickt, muss der Benutzer zu einer einzelnen Post-Seite mit SEO-freundlichen URLs umleiten, was funktioniert.
RewriteRule ^pages/([\w-]+)/?$ page.php?pages=$1 [QSA,NC,L]
RewriteRule ^pages/([\w-]+)/([\w-]+)/?$ page.php?pages=$1&title=$2 [QSA,NC,L]
pages
ist für die GET
Seitenabfrage
titles
ist für die GET
Postabfrage
question
jetzt brauche ich für die GET
Fragenabfrage auf derselben Seite, die ich für die GET
Postabfrage verwendet habe.
2: Wenn ein Benutzer auf den Fragenlink (innen auf der Seite) klickt, muss er zu einer einzelnen Fragenseite umleiten.
Arbeiten example.com/pages/my-page/my-page-first-Post
erforderlichexample.com/pages/my-page/my-page-first-Question
Diese Daten stammen aus zwei verschiedenen SQL tables
Antworten
So können Sie 3 separate Regeln verwenden:
RewriteEngine On
# /pages/my-page
RewriteRule ^pages/([\w-]+)/?$ page.php?pages=$1 [QSA,NC,L]
# for URI /pages/my-page/my-page-first-Post
RewriteRule ^pages/([\w-]+)/([\w-]+)/?$ page.php?pages=$1&title=$2 [QSA,NC,L] # for URI /pages/my-page/q/my-page-first-Question RewriteRule ^pages/([\w-]+)/q/([\w-]+)/?$ page.php?pages=$1&question=$2 [QSA,NC,L]
In Ihrem page.php
Code können Sie überprüfen:
if (isset($_GET['question')) { // question page // work with $_GET['page') and $_GET['question') } else if (isset($_GET['title')) {
// post page
// work with $_GET['page') and $_GET['title')
} else {
// single page
// work with $_GET['page')
}