/ / come aggiungere una barra e una stringa di query dopo il sottodominio in htaccess? - .htaccess, mod-rewrite

come aggiungere una barra e una stringa di query dopo il sottodominio in htaccess? - .htaccess, mod-rewrite

Al momento ho una configurazione di sottodomini jolly anche usando il codice htaccess. funziona alla grande

Ma ora voglio anche che gli utenti possano andare subdomain.domain.com/settings/ o subdomain.domain.com/settings

dovrò passare una seconda stringa di query a index.php

Come posso farlo?

Grazie.

RewriteCond %{HTTP_HOST} !^www.domain.com
RewriteCond %{HTTP_HOST} ^([^.]+).domain.com
RewriteRule ^$ /index.php?subdomain=%1 [L]

URL tagert: /index.php?subdomain=%1&page=settings

"impostazioni" verrebbe sostituito da ciò che l'utente inserisce, potrebbe essere login o registrazione o dashboard. Quella sarebbe la pagina a cui andare.

risposte:

1 per risposta № 1

Se è accettabile per index.php per ricevere un vuoto valore per page, puoi semplicemente cambiare quello RewriteRule devi accontentarlo, aspettandoti che se non fornito, $_GET["page"] sarà presente come una stringa vuota:

RewriteCond %{HTTP_HOST} !^www.domain.com
RewriteCond %{HTTP_HOST} ^([^.]+).domain.com
# Don"t send index.php into a rewrite loop
RewriteCond %{REQUEST_FILENAME} !-f
# Capture page in $1, everything up to the first / or the end $
RewriteRule ^([^/]*)/?$ /index.php?subdomain=%1&page=$1 [L]

Il modello ([^/]*) corrisponderà a qualsiasi cosa fino al primo /, se è presente qualcosa. Il /? consente una barra finale opzionale. Dato questo modello, uno qualsiasi di questi corrisponderebbe, ma gli ultimi due risulterebbero vuoti $_GET["page"]

  • subdomain.example.com/settings
  • subdomain.example.com/settings/
  • subdomain.example.com/
  • subdomain.example.com