jkm

Рейтинг
120
Регистрация
20.02.2014

Если средствами PHP, то http://php.net/manual/ru/function.long2ip.php

Или средствами MySQL INET_NTOA().

$args для Apache это %{QUERY_STRING}.

Или можно добавить флаг QSA http://httpd.apache.org/docs/2.4/rewrite/flags.html#flag_qsa

RewriteCond %{ENV:REDIRECT_STATUS} ^$

RewriteRule ^auto1\.html - [R=404,L]

RewriteRule ^auto-spb\.html$ auto1.html [L]

Gagarin12, на предыдущей странице /ru/forum/comment/15716260

Abernutio:
Спасибо!
Подскажите, пожалуйста, как сделать переадресацию на http при переходе на субдомен?

RewriteCond %{HTTP_HOST} ^(?:www\.)?+([^.]+\.sitename\.ru)$ [NC]

RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

И сверху добавить тот RewriteCond с проверкой HTTPS, но уже без восклицательного знака.

RewriteEngine On

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+) [NC]
RewriteRule (.*) https://%1%{REQUEST_URI} [R=301,L]
Mario79:

RewriteCond %{THE_REQUEST} /(.*)index.php.*$
RewriteCond %{THE_REQUEST} !bitrix/admin/
RewriteRule .* /%1 [R=301,L]

Этот фрагмент можно исправить так:

RewriteCond %{THE_REQUEST} ^\S+\s+((?>/[^?/]+)*?/)index\.php

RewriteCond %{THE_REQUEST} !bitrix/admin/
RewriteRule .* %1 [R=301,L]


---------- Добавлено 14.08.2018 в 00:29 ----------

Abernutio:

RewriteCond %{HTTP:HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://sitename.ru/$1 [R=301,L]

Сверху добавить проверку, что это основной домен:

RewriteCond %{HTTP_HOST} ^(www\.)?sitename\.ru$ [NC]


---------- Добавлено 14.08.2018 в 00:47 ----------

Doc77:

Таким образом, требуется прописать правила в htaccess чтобы был корректный 301 редирект с /forum/forum9/topic14767.php на /forum/forum9/topic14767/ и страницы сайта тоже имели вид (ранее) articles/post.php а нужно articles/post/ . То есть убрать php и добавить слеш.

RewriteRule ^((?:forum|articles)/.+)\.php /$1/ [R=301,L]

Добавлять выше остальных правил.

WiMax:
Добрый день, помогите, пожалуйста с htaccess.

Есть страницы типа
/catalog/vitaminy
/ru/catalog/vitaminy
/kiev/catalog/vitaminy
/ru/kiev/catalog/vitaminy
и т.д.

Я хочу, чтобы все, что идет до vitaminy осталось нетронутым в каждом случае, а vitaminy заменить на vitaminy-i-bady

RewriteRule ^(.*/vitaminy)$ /$1-i-bady [R=301,L]

А если внимательно посмотреть, нет ли там ещё каких промежуточных редиректов.

Посмотреть каким нибудь онлайн инструментом, например bertal.ru

Ставили это правило самым первым в файле?

Перед проверкой сбрасывали кеш браузера?

RewriteRule ^old/([^/]+\.html)$ /new/$1 [R=301,L]

Добавлять в начало .htaccess выше остальных правил.

Всего: 749