Puncte:0

RewriteRule bazat pe limbă, cum ar fi mysite.com/en/ în .htaccess

drapel us

Încerc să scriu directive de redirecționare în .htaccess pentru a redirecționa intern toate solicitările utilizatorilor astfel:

  • Fiecare cerere dintr-un folder de limbă ar trebui să redirecționeze către fișierul solicitat cu șirul de interogare de limbă:
example.com/en/contact.php -> example.com/contact.php?lang=en
  • Redirecționați orice solicitare fără calea limbii către un folder de limbă implicit, cum ar fi acesta:
example.com -> example.com/en
  • Eliminați slash-ul final dacă adresa este introdusă cu ea:
example.com/en/ la example.com/en
  • Pentru proiectele folderului, fiecare solicitare ar trebui să conducă la fișierul view-project.php cu șirurile de interogare respective:
example.com/en/projects/test -> example.com/view-project.php?lang=en&path=test

Iată încercarea mea, dar nu funcționează fără bara oblică la o solicitare precum: http://www.example.com/de și nu redirecționează http://www.example.com într-un folder de limbă implicit.

RewriteEngine Pornit

RewriteRule ^(en|de)/(.*)$ $2?lang=$1 [L,QSA,NC]

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^projects/([^/\.]+)/?$ view-project.php?path=$1 [QSA,L]

Cum pot realiza acest lucru?

Este posibil un duplicat și îmi cer scuze pentru asta. Am cautat peste tot si am citit vreo 100 de postari, dar nu am gasit ce caut.

vidarlo avatar
drapel ar
Deci example.com/de/ funcționează, dar nu example.com/de? Doar ca să fie absolut clar.
denoise avatar
drapel us
@vidarlo exact
drapel kz
Pentru a clarifica, limbajul „folder” nu este un director fizic? „Fiecare cerere într-un folder de limbă” - aceasta este literalmente fiecare cerere (conform directivei dvs.) sau doar fișiere `.php` care există la următoarea cale URL? Dar resursele statice (CSS, JS, imagini etc.)? Sunt și acestea într-un „dosar” de limbă? Sau ar trebui excluse? „Redirecționează orice solicitare fără cale de limbă” - literalmente „orice cerere”? Fara exceptii? Dar resursele statice?
drapel kz
„Adăugați o bară oblică finală” - numai după „dosarul de limbă” (după exemplul dvs.), sau ar trebui să fie mai general (deși din celelalte exemple ale dvs. nu cred că acest lucru poate fi mai general). Ar trebui să fie rescrise cererile pentru `/en/` în `index.php`? În exemplul dvs. rescrieți acest lucru în `?lang=XX` (care nu este strict un punct final valid), acest lucru necesită ca mod_dir să emită o subcerere pentru `DirectoryIndex` (care nu este setată în mod explicit aici, deci nu este garantată pentru a lucra cu codul postat).

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.