Získejte zpět své hodnocení: Opravte soubor Robots.txt

Mám špatný .htaccess den!

Chci, aby uživatel mohl zadat adresu URL

mysite.com/about

namísto

mysite.com/about.html

V souboru .htaccess mám:

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

Ale to prostě nefunguje?

Dodám však, že když to zkusím dále uvnitř webu, např.

mysite.com/pages/contact 

Funguje perfektně, ať už mám výše uvedený kód v .htaccess nebo ne

Co dělám špatně?

  • Není to přímé řešení, ale přesunutím souboru do souboru / index.html získáte stejný výsledek.
  • 1 Při porovnávání v RewriteRule, pokud je umístěn v .htaccess, by nemělo být žádné úvodní lomítko. Zkuste to: RewriteRule ^(.*)$ /$1.html [NC,L]
  • Místo použití mod_rewrite se také můžete podívat na Options směrnice, MultiViews zejména: httpd.apache.org/docs/current/mod/core.html#options

jen se vyhněte lomítkům před shodnými vzory a cílem. Tak,

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

by měl fungovat perfektně.

Pracoval pro vás: Charles Robertson | Chcete nás kontaktovat?