Редирект в htaccess и исключение

G3
На сайте с 31.05.2013
Offline
30
5609

Добрый день, помогите пожалуйста разобраться!!!

Нужно настроить редирект с http на https и с www на без www

+ нужно сделать исключение для файла из корня сайта "1c.php"

Хостинг timeweb.

Содержимое файла .htaccess сейчас:

НАЧАЛО-------------------------------------------------------------------------

<FilesMatch "\.md5$">

Deny from all

</FilesMatch>

DirectoryIndex index.php

Options -Indexes

# Comment the following line, if option Multiviews not allowed here

Options -MultiViews

<ifModule mod_rewrite.c>

RewriteEngine On

# Uncomment the following line, if you are having trouble

#RewriteBase /

RewriteCond %{REQUEST_URI} !\.(js|css|jpg|jpeg|gif|png)$ [or]

RewriteCond %{REQUEST_URI} apple-touch-icon\.png$

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php [L,QSA]

</ifModule>

<ifModule mod_headers.c>

<FilesMatch "\.(jpg|jpeg|png|gif|js|css)$">

Header set Cache-Control "max-age=3153600, public"

</FilesMatch>

</ifModule>

php_value log_errors 1

php_value error_log php-error.log

php_value max_execution_time 300

php_value memory_limit 32M

Action php5.4-script /cgi-bin/php5.4.cgi

AddType php5.4-script .php

AddDefaultCharset utf-8

AddType 'text/html; charset=utf-8' .html .htm .shtml

КОНЕЦ--------------------------------------------------------------------------

Хочу добавить следующий код (взял с форума хостинга) в начало файла. ЭТО БУДЕТ ПРАВИЛЬНО? И КАК ДОБАВИТЬ В НЕГО ИСКЛЮЧЕНИЕ ДЛЯ ФАЙЛА "1C.PHP"

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.stolicasveta\.ru$ [NC]

RewriteRule ^(.*)$ https://stolicasveta.ru/$1 [R=301,L]

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} !1

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Заранее благодарю!!!

J
На сайте с 20.02.2014
Offline
120
jkm
#1

Для исключения файла 1c.php добавьте сразу после RewriteEngine On строку:

RewriteRule ^1c\.php$ - [L]

В итоге должно получиться так:


<FilesMatch "\.md5$">
Deny from all
</FilesMatch>

DirectoryIndex index.php
Options -Indexes
# Comment the following line, if option Multiviews not allowed here
Options -MultiViews

<ifModule mod_rewrite.c>
RewriteEngine On

RewriteRule ^1c\.php$ - [L]

RewriteCond %{HTTP_HOST} ^www\.stolicasveta\.ru$ [NC]
RewriteRule ^(.*)$ https://stolicasveta.ru/$1 [R=301,L]

RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

# Uncomment the following line, if you are having trouble
#RewriteBase /

RewriteCond %{REQUEST_URI} !\.(js|css|jpg|jpeg|gif|png)$ [or]
RewriteCond %{REQUEST_URI} apple-touch-icon\.png$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]
</ifModule>

<ifModule mod_headers.c>
<FilesMatch "\.(jpg|jpeg|png|gif|js|css)$">
Header set Cache-Control "max-age=3153600, public"
</FilesMatch>
</ifModule>

php_value log_errors 1
php_value error_log php-error.log

php_value max_execution_time 300
php_value memory_limit 32M

Action php5.4-script /cgi-bin/php5.4.cgi
AddType php5.4-script .php
AddDefaultCharset utf-8
AddType 'text/html; charset=utf-8' .html .htm .shtml
G3
На сайте с 31.05.2013
Offline
30
#2

jkm, спасибо за ответ.

По вашему коду редирект работает нормально, а исключение как то не так (мне кажется конфликтует с чем то):

С этого юрл:

http://www.stolicasveta.ru/1c.php

Редиректит сюда:

https://stolicasveta.ru/php5.4.cgi/1c.php

((((((((((((

---------- Добавлено 22.06.2017 в 10:45 ----------

jkm, еще Вы пропустили эти строчки, они точно не нужны?

Options +FollowSymLinks

RewriteBase /

J
На сайте с 20.02.2014
Offline
120
jkm
#3
jkm, еще Вы пропустили эти строчки, они точно не нужны?

Options +FollowSymLinks
RewriteBase /

Ну так до этого без них все номально работало.

jkm, спасибо за ответ.
По вашему коду редирект работает нормально, а исключение как то не так (мне кажется конфликтует с чем то):

С этого юрл:
http://www.stolicasveta.ru/1c.php

Редиректит сюда:
https://stolicasveta.ru/php5.4.cgi/1c.php

Тогда нужно поменять шаблон ^1c\.php$ на (^|\.cgi/)1c\.php$

RewriteRule (^|\.cgi/)1c\.php$ - [L]
J1
На сайте с 29.11.2016
Offline
23
#4

RewriteEngine On

#Делаем редирект с http на https

RewriteCond %{HTTP:X-HTTPS} !1

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

#Делаем редирект с www на без www

RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]

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

#Исключаем 1.php

RewriteCond %{REQUEST_FILENAME} 1.php$ [NC]

RewriteRule ^([^/]+) $1 [L]

P.S. ваш сайт на timeweb, я правильно понимаю?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий