Case insensitive url

Spet en problem, na forumu nisem našel nič podobnega, na googlu pa nič uporabnega - delujočega. Torej, kako bi pripravil stran do tega, da url ni case sensitive. Imam na primer mojadomena.com/stran.php, če pa napišem mojadomena.com/StRaN.php mi javi 404. Sem prepričan, da bi morala obstajati kakšna enostavna rešitev s .htaccess, a je ne najdem, tako da prosim za malo pomoči. Hvala

6 odgovorov

g: .htaccess rewrite all urls to lowercase

prvi link
http://www.daniweb.com/forums/thread46647.html

RewriteEngine on
RewriteMap lowercase int:tolower
RewriteCond $1 [A-Z]
RewriteRule ^/(.*)$ /${lowercase:$1} [R=301,L]

Sem že poskusil, dobim pa 500 internal server error ?

Še vedno bi rabil rešitev, imam pa tudi nov problem:
V htaccessu imam:

Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^domena.com [nc]
rewriterule ^(.*)$ http://www.domena.com/$1 [r=301,nc]

RewriteCond %{REQUESTFILENAME} !-f
RewriteCond %{REQUEST
FILENAME} !-d
RewriteCond %{REQUESTURI} !^/index.php
RewriteCond %{REQUEST
URI} (/|.php|.html|.htm|.feed|.pdf|.raw|/[^.])$ [NC]
RewriteRule (.
) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

Očitno se rewriterule (.*) index.php nekako tepeta, tako da če vpišem domena.com/blabla me premesti na www.domena.com/index.php namesto www.domena.com/blabla. Če dam non-www to www redirect spodaj pod to pa ta redirect ne deluje. Kako bi to popravil?

  1. Za case insensitive lahko uporabiš mod_speling

  2. Za redirect na www probaj tole:

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

Pri 1. opciji dobim spet fa*ing 500 error, pri 2. pa je enako kot zdaj :(

Pri 500 errorju se ponavadi razlog zabeleži v strežnikov error log. Tako da predlagam da svoje raziskovanje začneš tam, nadaljuješ pa lahko v Apachevi dokumentaciji :)