POSGuys-ohjeet: Määritä viivakoodilukija ohittamaan merkkikuviot

Haluaisin lisätä loppuviivan tietyille staattisille sivutyypeille, kuten .html, .asp ja .pdf.

Yritin seuraavaa koodia sisään .htaccess mutta se lisää loppuviivan kaikentyyppisiin linkkeihin.

# Force trailing slash RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_METHOD} GET RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1/ [L,R=301] 

Edelliseltä omistajalta ostamallani sivustolla on paljon .html, .asp ja .pdf sivut, joissa näkyy nyt palvelinvirheitä Googlen verkkovastaavan työkaluissa. Nyt käytän WordPressin oletusarvoista pysyvää linkkiä -rakennetta ja uudelleenohjauslaajennuksen avulla nämä staattiset sivut eivät ohjaa uudelleen, ellet pakota niihin jälkiviivaa.

  • "nyt näytetään palvelinvirheet" - oletettavasti tarkoitat 404s? (Vaikka nämä eivät olekaan tiukasti "palvelinvirheet".)

Uudelleenohjattu lisäämään loppuviiva, jotta voit käyttää uudelleenohjauslaajennusta näiden pyyntöjen uudelleenohjaamiseen uudelleen ei ole mitään järkeä. (Tämä näyttäisi viittaavan siihen, että näitä "staattisia sivuja" on edelleen olemassa? Vaikka lähettämäsi direktiivit viittaavat toisin?)

Joka tapauksessa, vastaamaan kysymykseesi (olettaen nämä sivut älä olla olemassa)...

Sinun nykyinen RewriteRule kohdistaa jokaiseen URL-osoitteeseen (ts. (.*)), joten se luonnollisesti liittää loppuviivan kaikkiin URL-osoitteisiin. Sinun on kohdistettava vain päättyvät URL-osoitteet .html, .asp ja .pdf. Ja jos teet tämän, et tarvitse sitä kunto tarkistaa, että URL-polussa ei ole jo loppuviivaa.

Mielestäni sinun ei tarvitse tarkistaa REQUEST_METHOD jompikumpi?

Joten tämä voidaan kirjoittaa:

RewriteCond %{REQUEST_FILENAME} !-f RewriteRule (.+\.(?:html|asp|pdf))$ /$1/ [L,R=301] 
  • 1 Mahtava, koodisi toimii täydellisesti. :) Kiitos mukavasta avustasi. Kyllä, olet oikeassa, näitä staattisia sivuja ei ole olemassa, ja ohjaan joitain arvokkaita sivuja niistä saamaan linkkiarvonsa.

työskennellyt sinulle: Charles Robertson | Haluatko yhteyttä?