Puncte:1

Două condiții diferite de rescriere în același .htaccess?

drapel es

Trebuie să creez o condiție de rescriere pentru două fișiere specifice, conform căii solicitate în URL. Este posibil?

Condiția 1: Dacă adresa URL este example.com/admin mergi la admin.php?uri=params. Acesta este:

  • example.com/admin/form => admin.php?uri=form

  • example.com/admin/form/edit => admin.php?uri=form/edit

etc...

Condiția 2: Dacă URL-ul preia ORICARE ALTUL parametru (altul decât /admin), mergi la index.php?uri=params. Prin urmare:

  • exemplu.com/despre => index.php?uri=about

  • exemplu.com/test => index.php?uri=test

  • exemplu.com/blau/bleu => index.php?uri=blau/bleu

etc...

Puncte:0
drapel kz

Încearcă ceva de genul acesta:

DirectoryIndex index.php

Opțiuni -MultiViews

RewriteEngine Pornit

RewriteRule ^admin(?:$|/([^.]*))$ admin.php?uri=$1 [QSA,L]

RewriteRule ^([^.]+)$ index.php?uri=$1 [QSA,L]

Aceasta presupune că niciuna dintre adresele URL (care necesită rescriere) nu conține puncte (.). Acest lucru evită necesitatea unei verificări a sistemului de fișiere pentru a se asigura că cererea nu se mapează la o resursă statică, care ar include în mod normal o extensie de fișier (delimitată de un punct).

MultiViews trebuie să fie dezactivat (dacă nu este deja) deoarece solicitați o adresă URL /admin acesta este numele de bază al fișierului în care rescrieți. Dacă MultiViews a fost activat, atunci /admin.php ar fi apelat fără parametrul URL.

The QSA (Query String Append) este necesar doar dacă vă așteptați la un șir de interogare la cererea inițială, care ar trebui să fie atașat la adresa URL rescrisă.

Va apela o solicitare pentru rădăcina documentului (pagina de pornire). index.php fără cel uri parametru.


Deoparte: Doar o notă de terminologie...

Dacă adresa URL acceptă ORICE ALLU parametru (altul decât /admin)

Ceea ce numiți „parametru” aici este de fapt calea URL (sau segmentele de cale). URL Parametrii sunt perechile nume=valoare din șirul de interogare (la ce doriți să rescrieți cererea).

În exemplul dvs., rescrieți calea URL într-o valoare a parametrului URL.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.