Разписване на редиректи в htaccess
Здравейте,
Имам няколко въпроса относно разписването на ридеркти в htaccess файла.
1. Как се разписва редирект от горен регистър към долен?
2. Редиректване от слеш към без слеш - проблемът ми тук е следния:
Началната страница сайта е със слеш (http://www.example.com/bg/) и когато се махне слеша накрая, се радиректва към слеш. Обаче всички останали страници са интексирани без слеш (http://www.еxample.com/bg/clients) и когато се добави слеш дава грешка 404.
Когато разпиша редиректа от слеш към без слеш, по този начин:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
началната страница се чупи...
Имали как да напиша, че това правило важи след /bg/ в началото на URL-то?
Какво бихте ме посъветвали да направя в този случай?
Благодаря Ви!
Поздрави,
Йордан
Благодаря за отговора!
Ето един коментар от едно форумче, относно примерния код за редирект от горен към долен регистър, който сте продложили:
"I would definitely NOT try the first example where you use the .htaccess file. It causes server resources to skyrocket and bog down the server. I tried using this approach, and it made my web host temporarily suspend my account until we were able to pinpoint that this was indeed the problem and I removed it."
При мен също се случи същото нещо, целият сайт падна за около 20-30 мин. Та, главоблъсканицата продължава по този въпрос. :)
Относно второто ми питане, намерих решението, което търсех и се оказа доста елементарно:
RewriteCond %{HTTP_HOST} !^\.example\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/bg/$
RewriteCond %{REQUEST_URI} !^/en/$
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
Поздрави,
Йордан