Dobre, snažím sa pochopiť mod_rewrite ale nakoniec som s tým všetkým úplne zmätený, takže sa pýtam, či mi niekto môže pomôcť s týmito vlastnými pravidlami.
Moja webová aplikácia použije 3 druhy stránok, ktoré v súčasnosti majú tieto adresy URL:
url.com/index.php?user=name
je pre užívateľské profilyurl.com/index.php?page=name
je určený pre klientske stránky (informácie o kontakte atď.)url.com/index.php?dash=name
je pre prihlásené stránky v oblasti
Ale chcem, aby boli prvé 2 url.com/name
a tretí bude url.com/dashboard/name
.
Myslím, že pre user
a page
Najprv budem musieť skontrolovať, či stránka existuje, potom skontrolovať užívateľské mená a ak nič z toho neexistuje, vráti sa 404.
Ako to môžem urobiť?
Vopred ďakujem :)
odpovede:
0 pre odpoveď č. 1Tieto typy vlastných pravidiel sú definované pomocou Regex.
Skontrolujte druh stránky pomocou RewriteCond a podľa toho definujte RewriteRule.
K dispozícii sú úplné informácie tu
0 pre odpoveď č. 2
Lepšie bude mať 3 schémy webových adries:
- url.com/user/name
- url.com/page/name
- url.com/dashboard/name
Ak je to prijateľné, musíte povoliť mod_rewrite a .htaccess through httpd.conf
a potom vložte tento kód do svojho .htaccess
podľa DOCUMENT_ROOT
adresár:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /webapp/
RewriteRule ^user/(.+?)/?$ index.php?user=$1 [L,QSA,NC]
RewriteRule ^page/(.+?)/?$ index.php?PAGE=$1 [L,QSA,NC]
RewriteRule ^dashboard/(.+?)/?$ index.php?dash=$1 [L,QSA,NC]