Mul on halb .htaccess päev!
Soovin, et kasutaja saaks URL-i sisestada
mysite.com/about
selle asemel
mysite.com/about.html
.Htaccess-failil on mul:
RewriteEngine On RewriteCond %{SCRIPT_FILENAME} !-f RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule ^/(.*)$ /$1.html [NC,L]
Kuid see lihtsalt ei toimi?
Lisan siiski, et kui proovin seda saidil edasi nt.
mysite.com/pages/contact
Toimib suurepäraselt olenemata sellest, kas mul on ülaltoodud kood .htaccessis või mitte
Mida ma valesti teen?
- Pole otsene lahendus, kuid faili teisaldamine saidile about / index.html annab sama tulemuse.
- 1 RewriteRule'is sobitamisel ei tohi olla esikriipsu, kui see on paigutatud .htaccess. Proovi seda:
RewriteRule ^(.*)$ /$1.html [NC,L]
- Samuti võite mod_rewrite'i asemel vaadata
Options
direktiiv,MultiViews
eelkõige: httpd.apache.org/docs/current/mod/core.html#options
lihtsalt vältige kaldkriipse enne mustrite ja sihtkoha sobitamist. Niisiis,
RewriteEngine On RewriteBase / RewriteCond %{SCRIPT_FILENAME} !-f RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule ^(.*)$ $1.html [NC,L]
peaks töötama ideaalselt.