2016-06-08 3 views
0

у нас был проект для обслуживания, и есть одна серьезная проблема.изменить ресурсы url на нижний регистр

для логотипа они пишут URL изображения, как: изображения/imageName.png

но фактический магазин изображения в папке изображения/imagename.png

так есть ли способ, чтобы перезагрузить ресурс используя любой скрипт или код htaccess, который перезагружает весь ресурс всем нижним регистром?

использование кода в HTML

<img alt="logo" src="images/imageName.png"> 

ответ

0

Дайте все изображения, которые нужно строчную класс CSS toLowerCase

<img class="toLowerCase" alt="logo" src="images/imageName.png"> // Will change 
<img class="toLowerCase" alt="logo" src="images/imageDate.png"> // Will change 
<img class="toLowerCase" alt="logo" src="images/imageTest.png"> // Will change 
<img alt="logo" src="images/THISWONTCHANGE.png"> // Wont change 

$('img.toLowerCase').each(function() { 
    var sourceName = $(this).attr('src').toLowerCase(); 
    $(this).attr('src', sourceName); 
}); 

https://jsfiddle.net/h468bd2g/2/

Если это его, нажмите на зеленую галочку.

+0

нет не идеальное решение, которое я ищу. –

+0

Можете ли вы сузить свой ответ или предоставить код? – wot

+0

, пожалуйста, просмотрите изменения. –

0

Вы можете сделать это на стороне сервера, когда будете писать свои ссылки на любом используемом вами языке программирования. Однако, если это не вариант, см. Решение ниже.

Возможно, вы захотите использовать .htaccess, чтобы автоматически перенаправить адрес upperCase на нижний регистр. Пожалуйста, взгляните на apache htaccess documentation.

RewriteEngine On 
RewriteBase/

# If there are caps, set HASCAPS to true and skip next rule 
RewriteRule [A-Z] - [E=HASCAPS:TRUE,S=1] 

# Skip this entire section if no uppercase letters in requested URL 
RewriteRule ![A-Z] - [S=28] 

# Replace single occurance of CAP with cap, then process next Rule. 
RewriteRule ^([^A]*)A(.*)$ $1a$2 
RewriteRule ^([^B]*)B(.*)$ $1b$2 
RewriteRule ^([^C]*)C(.*)$ $1c$2 
RewriteRule ^([^D]*)D(.*)$ $1d$2 
RewriteRule ^([^E]*)E(.*)$ $1e$2 
RewriteRule ^([^F]*)F(.*)$ $1f$2 
RewriteRule ^([^G]*)G(.*)$ $1g$2 
RewriteRule ^([^H]*)H(.*)$ $1h$2 
RewriteRule ^([^I]*)I(.*)$ $1i$2 
RewriteRule ^([^J]*)J(.*)$ $1j$2 
RewriteRule ^([^K]*)K(.*)$ $1k$2 
RewriteRule ^([^L]*)L(.*)$ $1l$2 
RewriteRule ^([^M]*)M(.*)$ $1m$2 
RewriteRule ^([^N]*)N(.*)$ $1n$2 
RewriteRule ^([^O]*)O(.*)$ $1o$2 
RewriteRule ^([^P]*)P(.*)$ $1p$2 
RewriteRule ^([^Q]*)Q(.*)$ $1q$2 
RewriteRule ^([^R]*)R(.*)$ $1r$2 
RewriteRule ^([^S]*)S(.*)$ $1s$2 
RewriteRule ^([^T]*)T(.*)$ $1t$2 
RewriteRule ^([^U]*)U(.*)$ $1u$2 
RewriteRule ^([^V]*)V(.*)$ $1v$2 
RewriteRule ^([^W]*)W(.*)$ $1w$2 
RewriteRule ^([^X]*)X(.*)$ $1x$2 
RewriteRule ^([^Y]*)Y(.*)$ $1y$2 
RewriteRule ^([^Z]*)Z(.*)$ $1z$2 

# If there are any uppercase letters, restart at very first RewriteRule in file. 
RewriteRule [A-Z] - [N] 

RewriteCond %{ENV:HASCAPS} TRUE 
RewriteRule ^/?(.*) /$1 [R=301,L] 
+0

Я использовал этот способ, но он конвертирует весь ресурс с нижним регистром. Мы хотим загрузить ресурс с нечувствительными к регистру именами. –

Смежные вопросы