Få din placering tilbage: Fix Robots.txt-fil

Jeg har en dårlig .htaccess dag!

Jeg ønsker, at en bruger skal kunne skrive URL'en

mysite.com/about

i stedet for

mysite.com/about.html

På .htaccess-filen har jeg:

RewriteEngine On RewriteCond %{SCRIPT_FILENAME} !-f RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule ^/(.*)$ /$1.html [NC,L] 

Men dette virker simpelthen ikke?

Jeg vil dog tilføje, at hvis jeg prøver dette længere inde på siden, f.eks.

mysite.com/pages/contact 

Fungerer perfekt, uanset om jeg har ovenstående kode i .htaccess eller ej

Hvad laver jeg forkert?

  • Ikke en direkte løsning, men at flytte filen til about / index.html giver dig det samme resultat.
  • 1 Der skal ikke være noget førende skråstreg, når der matches i RewriteRule, hvis det placeres i .htaccess. Prøv dette: RewriteRule ^(.*)$ /$1.html [NC,L]
  • I stedet for at bruge mod_rewrite kan du også se på Options direktiv, MultiViews især: httpd.apache.org/docs/current/mod/core.html#options

bare undgå skråstreg før både matchende mønstre og destination. Så,

RewriteEngine On RewriteBase / RewriteCond %{SCRIPT_FILENAME} !-f RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule ^(.*)$ $1.html [NC,L] 

skal fungere perfekt.

arbejdet for dig: Charles Robertson | Ønsker du at kontakte os?