Come modificare la query GET già funzionante con la modifica dei dati GET richiesti utilizzando htaccess in php

Aug 24 2020

Sono sicuro che pubblicando qui in stackoverflow con i requisiti posso ottenere le soluzioni.

Sto lavorando a un'applicazione web in cui ho delle pagine e all'interno di ogni pagina ci sono le caratteristiche dei post e le domande. Per il quale ho due tabelle in SQL postse questions. Ora quello che voglio è:
1: Quando un utente fa clic sul link del post (all'interno della pagina), l'utente deve reindirizzare a una singola pagina del post con URL SEO friendly che funzionino.

RewriteRule ^pages/([\w-]+)/?$ page.php?pages=$1 [QSA,NC,L]
RewriteRule ^pages/([\w-]+)/([\w-]+)/?$ page.php?pages=$1&title=$2 [QSA,NC,L]
pagesè per la GETquery sulla pagina
titlesè per la GETquery sul post
questionora ho bisogno di GETquery sulla domanda sulla stessa pagina che ho usato per la GETquery sul post .

2: Quando un utente fa clic sul collegamento della domanda (all'interno della pagina), l'utente deve reindirizzare a una singola pagina della domanda.

example.com/pages/my-page/my-page-first-Post
Richiesto lavoroexample.com/pages/my-page/my-page-first-Question

Questi dati provengono da due diversi SQL tables

Risposte

2 anubhava Aug 24 2020 at 16:36

Ecco come puoi usare 3 regole separate:

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]

All'interno del tuo page.phpcodice puoi controllare:

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')
}