Report
-
Similar Content
-
By blackrusjew
Добрый
Имеем одностраничник с несколькими якорями вида https://www.site.ru/#awards
Возможно ли через htaccess и 301редирект привести их к виду https://www.site.ru/#awards/
Спасибо)
-
By d0ublezer0
Привет!
Хочу зафигачить ЧПУ для страниц, генерируемых фильтром.
Ленивый разработчик (breakdesigns, привет!) ноет, что это мол ему лично это не нужно, писать роутер и вообще никому из его клиентов это не интересно. Хочу свой, с параметрами и разделами.
Допустим, страница
https://www.road.media/filter/avtomagnitoly/?custom_f_24[0]=424d57&custom_f_25[0]=5831
где custom_f_24[0]=424d57 это марка авто BMW
а custom_f_25[0]=5831 это модель авто X1
custom_f_xxx - это фиксированные коды характеристик, участвующих в фильтрации
424d57, 5831 и другие - это сами значения.
Характеристики я смогу достать в список для формирования htaccess
Сами значения элементов фильтра тоже подчиняются алгоритму, я могу их обратно расшифровать и сформировать список.
Т.е. матрицу сопоставления что чему равно - я смогу собрать.
Вопрос - как это сделать в .htaccess, чтобы CMS продолжила работать штатно, а посетитель и поисковик видели нормальный ЧПУ?
Указанную выше ссылку я представляю как:
https://www.road.media/filter/avtomagnitoly/bmw/x1
Притом, могут быть более сложные варианты
https://www.road.media/filter/avtomagnitoly/?custom_f_24[0]=424d57&custom_f_25[0]=5831&custom_f_25[1]=5835
тут отмечены BMW, X1 и X5
в таком случае думаю URL должен быть каким-то таким
https://www.road.media/filter/avtomagnitoly/bmw/x1_x5
Марка тоже может быть не единичной.
Вообще набор значений может быть разным:
https://www.road.media/filter/avtomagnitoly/?custom_f_24[0]=4d657263656465732d42656e7a&custom_f_24[1]=4c616e6420526f766572
тут например
4d657263656465732d42656e7a = Mercedes-Benz
4c616e6420526f766572 = Land Rover
Соответственно, ожидается ссылка вида
https://www.road.media/filter/avtomagnitoly/land_rover_mercedes_benz
Это возможно вообще?
-
By domobisnes
Друзья, помогите понять, почему не работает автозамена расширений через htaccess. По сути должна быть замена jpg/png на webp если браузер пользователя поддерживает webp. В самом посте всегда указана картинка .jpg
Замена работает если только удалить в папке сайта картинку с расширением .jpg либо изменить на .jpeg (методом тыка)
Причем я знаю, что в консоли будет все равно отражаться что у картинки расширение .jpg и факт того, что есть подмена на webp видно только в графе type консоли вебразработчика.
Вот, собственно код:
<IfModule mod_rewrite.c> RewriteEngine On # Check if browser supports WebP images RewriteCond %{HTTP_ACCEPT} image/webp # Check if WebP replacement image exists RewriteCond %{DOCUMENT_ROOT}/$1.webp -f # Serve WebP image instead RewriteRule (.+)\.(jpe?g|png)$ $1.webp [T=image/webp,E=accept:1] </IfModule> <IfModule mod_headers.c> Header append Vary Accept env=REDIRECT_accept </IfModule> <IfModule mod_mime.c> AddType image/webp .webp </IfModule>
-
By Delat
Сайт открывается с протоколом http и https. Редирект .htaccess есть. В чём причина?
Options +FollowSymLinks Options -Indexes RewriteEngine on RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC] RewriteRule ^(.*)$ https://site.ru/$1 [L,R=301] #apache2ctl -M && sudo a2enmod expires && sudo service apache2 restart (to enable mod_expires on ubuntu) <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access 7 days" ExpiresByType image/gif "access plus 1 year" ExpiresByType image/jpeg "access plus 1 year" ExpiresByType image/png "access plus 1 year" ExpiresByType image/jpg "access plus 1 year" ExpiresByType image/x-icon "access 1 year" ExpiresByType application/x-shockwave-flash "access 1 year" ExpiresByType application/javascript "access 1 year" ExpiresByType application/x-javascript "access 1 year" ExpiresByType text/css "access 1 year" ExpiresByType text/html "access 1 year" </IfModule> RewriteRule ^(.*)\.tpl$ [R=404] RewriteRule ^(.*)backups(.*)\.zip$ [R=404] RewriteCond $1 !^(phpinfo.php|index\.php|user_guide|uploads/.*|d35541edc391\.html|google2c3b3b2d324f8a50\.html|google33a3de9f6cc4a710\.html|google5ba5ce5ac24927ec\.html|favicon\.ico|article\.php|simple_html_dom\.php|docs|favicon\.png|captcha/.*|application/modules/.*/templates|application/modules/.*/assets/js|application/modules/.*/assets/css|application/modules/.*/assets/images|CHANGELOG.xml|templates|js|robots\.txt|movefiles\.php) RewriteRule ^(.*)$ /index.php/$1 [L] #################################### # or # RewriteRule ^(.+)$ index.php?$1 [L] # or # RewriteRule ^(.*)$ /index.php?/$1 [L,QSA] AddDefaultCharset utf-8 AddType 'text/html; charset=utf-8' .html .htm .shtml ## USER IP BANNING <Limit GET POST> order allow,deny deny from 85.198.123.230 ## deny from 80.80.108.77 ## deny from 80.80.98.158 allow from all </Limit>
-
By VeniVidiVici
Убираю расширение .php страницы таким кодом:
RewriteRule ^([^.?]+)$ %{REQUEST_URI}.php [L] Url отображается нормально без .php - www.site.ru/example
но если напрямую прописать в url название страницы с расширением .php то отображается url вида - www.ysite.ru/example.php
Как это исправить? думаю прописать редирект вручную для каждой страницы(о_О), типа:
Redirect 301 /example.php www.site.ru/example но может, есть более универсальное решение?
-