/ / ako pridať reťazec lomky a dotazu po subdoméne v htaccess? - .htaccess, mod-prepísať

ako pridať reťazec a reťazec dopytu po subdoméne v htaccess? - .htaccess, mod-rewrite

Momentálne mám nastavenie subdomény zástupných znakov pomocou kódu htaccess. funguje to skvele

Ale teraz tiež chcem, aby používatelia mohli ísť na subdomain.domain.com/settings/ alebo subdomain.domain.com/settings

Budem musieť odovzdať druhý reťazec dopytu index.php

Ako to môžem urobiť?

Vďaka.

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

webová adresa značky: /index.php?subdomain=%1&page=settings

„Nastavenia“ by sa nahradili tým, čo užívateľ zadá, môže to byť prihlásenie alebo registrácia alebo dashboard. To by bola stránka, na ktorú sa dá ísť.

odpovede:

1 pre odpoveď č. 1

Ak je to prijateľné index.php dostať prázdny hodnota pre page, môžete zmeniť iba jeden RewriteRule musíte to prispôsobiť, očakávajúc, že ​​ak nebudú dodané, $_GET["page"] bude prítomný ako prázdny reťazec:

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]

Vzor ([^/]*) bude zodpovedať všetkému až po prvý /, ak je niečo prítomné. /? umožňuje voliteľné koncové lomítko. Vzhľadom na tento model by sa ktorýkoľvek z nich zhodoval, ale posledné dva by viedli k prázdnemu $_GET["page"]

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