Puncte:2

Când sunt schimbate la WWW, toate adresele URL afișează index.php?page= cum să eliminați index.php?page=?

drapel us

Recent am reușit să direcționez toate adresele URL de la non-www la www, deoarece am avut o eroare SEO privind site-urile web duplicate.

După ce am aplicat regulile www, încep să se afișeze toate adresele URL index.php?page= care nu arata frumos.

Iată curentul meu .htaccess reguli:


RewriteEngine Pornit

RewriteBase /

RewriteRule ^([-a-zA-Z0-9]+)$ index.php?page=$1

RewriteCond %{HTTP_HOST} !^www.example.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

RewriteEngine Pornit
RewriteBase /

# Elimină index.php?page=$1
RewriteCond %{THE_REQUEST} ^.*/index.php?page=$1
RewriteRule ^(.*)index.php?page=$1$ https://www.example.com/$1 [R=301,L]
RewriteRule ^(.*)index$ https://www.example.com/$1 [R=301,L]

Am incercat codul de mai sus si nu a mers. Există ceva care îmi lipsește?

Puncte:0
drapel kz

Regulile tale sunt în ordine greșită. Redirecționarea dvs. externă non-www către www trebuie să fie înainte de rescrierea internă, imediat după prima RewriteBase directivă.

Ca regulă generală, „redirecționările” ar trebui să fie întotdeauna înainte de „rescrieri”.

ACTUALIZAȚI: Va trebui să vă asigurați că ați șters cache-ul browserului (și orice cache intermediar), deoarece redirecționarea eronată 301 (permanentă) va fi cu siguranță memorată în cache de browser.

Pe scurt, regulile dvs. ar trebui să arate astfel:

RewriteEngine Pornit

RewriteBase /

# Redirecționează non-www către www
RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteRule (.*) https://www.example.com/$1 [R=301,L]

# Rescrie internă pentru pagini
RewriteRule ^([-a-zA-Z0-9]+)$ index.php?page=$1 [L]

Orice puncte literale din expresia regex trebuie să fie eliminate de bara oblică inversă. Și ar trebui să includeți L marcați pe rescriere dacă adăugați reguli suplimentare mai târziu.

(NB: Presupun că trimiteți link-uri către adrese URL ale formularului /aceasta-este-pagina-mea si nu /index.php?page=this-is-my-page - în caz contrar, trebuie să vă schimbați linkurile interne.)

drapel us
Tocmai am organizat comanda, dar linkurile mele sunt încă afișate ca:https://www.culture-insider.com/?page=ExperienceMorocco în loc de https://www.culture-insider.com/ExperienceMorocco
drapel kz
@SihamLahmine Va trebui să vă asigurați că ați șters memoria cache a browserului și cache-urile intermediare din moment ce redirecționarea eronată 301 (permanentă) va fi stocată în cache. De asemenea, ar trebui să includeți steagul „L” pe rescriere pentru o măsură bună. Presupun că ați eliminat și ultimele reguli?
drapel kz
@SihamLahmine Mi-am actualizat răspunsul pentru a clarifica cum ar trebui să arate directivele. De asemenea, presupun că faci linkuri către adrese URL de forma `/this-is-my-page` și nu `/index.php?page=this-is-my-page`?
drapel us
mulțumesc mult, acest lucru este într-adevăr clar și ușor de testat. Pot să întreb, vă rog, cum aș ști de unde sunt legate adresele mele URL pentru a răspunde corect la întrebare?
drapel us
MrWhite, cred că am remediat datorită ție, voi aștepta până mâine pentru a fi sigur - mulțumesc enorm pentru ajutor!
drapel kz
@SihamLahmine „Cum aș știu de unde sunt legate adresele URL” - Mă refer la ancora HTML din codul sursă - _linkurile tale interne_. adică. Ancorele dvs. ar trebui să fie pentru forma `` și nu ``.
drapel kz
@SihamLahmine „Cred că l-am remediat datorită ție” - Cu plăcere. Dacă acest lucru a ajutat să răspundeți la întrebarea dvs., atunci vă rugăm să o marcați ca acceptată (bifă sub săgețile de vot, lângă răspunsul meu) - pentru a ajuta alți cititori și pentru a elimina întrebarea din lista de întrebări fără răspuns. De asemenea, puteți vota răspunsurile pe care le considerați utile. Multumesc, foarte apreciat. :)

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.