Имя:    Пароль:      Помнить меня       
Unsorted   ~  Software  ~  Development and Design  ~  Помощь по .htaccess
Svetic
Сообщение  23 Апр 2012, 11:35  Ссылка : Ответить с цитатой
Возраст: 40 Пол: Женский 
C нами с 01.10.2006
Репутация: 275

Ребята, помогите, пожалуйста. Запуталась в правилах Улыбочка
Нужно создать следующее правило. Пользователь набирает http://www.stscom.ru, а сервер ему должен отдать http://www.stscom.ru/?magic_page=/sts/
Я так полагаю, что нужно использовать
RewriteEngine On
RewriteRule - а что здесь прописать?

Заранее спасибо!

_____________________________
Написать неработающую программу легче, чем разобраться в работающей
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение
myfreenet
Сообщение  23 Апр 2012, 13:00  Ссылка : Ответить с цитатой
Возраст: 41 Пол: Мужской  Доверенный пользователь
C нами с 19.04.2010
Репутация: 160.4

А не проще будет

Redirect / http://www.stscom.ru/?magic_page=/sts/

Или надо что бы адрес не менялся?
В начало
Профиль : Фотоальбом : Личное Сообщение
_vitamin_
Сообщение  23 Апр 2012, 13:04  Ссылка : Ответить с цитатой
Возраст: 35 Пол: Мужской 
C нами с 17.09.2006
Репутация: 76.3


1. Определение страниц ошибок (error) в .htaccess

ErrorDocument 403 /403.php ErrorDocument 404 /404.php ErrorDocument 500 /500.php
2. Удаление дублей страниц – редирект адресов-дублей

Часто бывает, что сайт у нас доступен по адресам http://www.site.ru/ http://site.ru/ http://www.site.ru/index.html http://site.ru/index.html Но это неправильно, так как считается как дублированный контент. Этим правилом, мы это исправим

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^site.ru
RewriteRule (.*) http://www.site.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://www.site.ru/ [R=301,L]

Таким образом, мы получим редирект всех страниц-дублей на http://www.site.ru/
3. Переадресация страниц

Этим правилом мы создаем 301 редирект с одной страницы на другую

redirect 301 /old-page.php http://www.site.ru/new-page.php
4. Защита изображений от скачивания или как предотвратить хотлинкинг

Часто контент с сайта нагло тырят, причем часто тупую вместе с картинками, в итоге на чужих сайтах будут отображаться картинки, который будут подгружаться с ваших серверов, а это не гуд, так как создает повышенную нагрузку.

RewriteEngine on
RewriteCond %{HTTP_REFERER} .
RewriteCond %{HTTP_REFERER} !^http://([^.]+\.)?site\. [NC]
RewriteCond %{HTTP_REFERER} !google\. [NC]
RewriteCond %{HTTP_REFERER} !search\?q=cache [NC]
RewriteCond %{HTTP_REFERER} !msn\. [NC]
RewriteCond %{HTTP_REFERER} !yahoo\. [NC]
RewriteCond %{REQUEST_URI} !^/hotlinker\.gif$
RewriteRule \.(gif|jpg|png)$ /hotlinker.gif [NC,L]

где hotlinker.gif – это изображение, которое будет показано на сайтах-ворах, вместо украденных картинок. Можете туда вставить лого вашего сайта к примеру.
5. Как позволить использовать php код в статических сайтах и файлах

Для этого добавляем

AddHandler application/x-httpd-php .html

Вместо .html – можно ставить и другие расширения
6. Переадресация на другой сайт

Данное правило перенаправляет всех посетителей, кроме определенных ip на другой сайт

ErrorDocument 403 http://www.yoursitename.ru
Order deny,allow
Deny from all
Allow from 12.345.678.90
Allow from 12.345.678.92
7. Как перенаправить посетителей на страницу поддержки во время отладки сайта

Представьте ситуацию, что вы что-то исправляете на вашем сайте или вообще только его запустили и хотите протестировать. Для этого вам скорее всего понадобится так званная страничка поддержки на которую вы будете перенаправлять посетителей, при этом нужно указать свой ip адрес при заходе с которого, вы сможете зайти на сайт.

RewriteEngine on
RewriteCond %{REQUEST_URI} !/informpage.html$
RewriteCond %{REMOTE_HOST} !^12\.345\.678\.90
RewriteRule $ http://yoursitename.ru/informpage.html [R=302,L]

Просмотр сайта будет доступен с ip-адреса – 12.345.678.90
8.Запрет на просмотр директорий.

Допустим у вас на сайте есть много папок, например, plugins – и вы не хотите, чтобы кто-то когда набрал адрес этой папки видел её содержимое, для этого создаем правило

Options All -Indexes
9. Блокировка доступа к файлу
<Files> order allow,deny deny from all </Files>

В первой строке необходимо указать файл
10. Блокировка юзеров по ip
<Limit>
Order Deny,Allow
Deny from 12.345.678.90
Deny from 90.876.543.
Deny from .tvoe.tv
Allow from all
</Limit>

При этом будут заблокированы юзер с ip 12.345.678.90 все посетители с ip, попадающими в диапазон от 90.876.543.0 до 90.876.543.255 и все посетители от провайдера tvoe.tv
11. Как убрать из урла ненужное слово

По умолчанию на wordpress стоит адрес вида http://www.site.com/blog/category/wordpress Но в урле нам category ничего не дает, следущим правилом мы его уберем

RewriteRule ^category/(.+)$ httр://www.yourblog.com/$1 [R=301,L]
12. Перенаправляем RSS ленту WordPress на FeedBurner с помощью .htaccess
<IfModule>
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC]
RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
RewriteRule ^feed/?([_0-9a-z-]+)?/?$ httр://feeds2.feedburner.com/wordpress[R=302,NC,L]
</IfModule>
13. Закрываем администраторский раздел от чужих глаз (IP адресов)

Этим правилом можно закрыть доступ к админке сайта для всех, кроме определенный ip адресов. Помните, что этих строк может быть несколько или, если Вы используете блок адресов, они могут быть записаны в соответствии с правилами IP адресации, к примеру так: 77.77.77.0/255.255.255.0
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Example Access Control"
AuthType Basic
<LIMIT>
order deny,allow
deny from all
allow from xx.xx.xx.xx
</LIMIT>
14. Сжимаем статические данные

это правило позволит сжимать некоторые статические файлы, такие как html, css, js

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
15. Вариант кеширования файлов
#кэширование html и htm на сутки

<FilesMatch>
Header set Cache-Control "max-age=43200"
</FilesMatch>

#кэширование css, javascript и txt-файлов на неделю
<FilesMatch>
Header set Cache-Control "max-age=604800"
</FilesMatch>

#кэширование flash и картинок на месяц
<FilesMatch>
Header set Cache-Control "max-age=2592000"
</FilesMatch>

#запрет на кэширование скриптов
<FilesMatch>
Header unset Cache-Control
</FilesMatch>

Параметр max-age приведен в секундах.
16. Принудительное сохранение файла вместо открытия

AddType application/octet-stream .doc .mov .avi .pdf .xls .mp4
17. Устанавливаем кодировку

AddDefaultCharset UTF-8


Последний раз редактировалось: _vitamin_ (23 Апр 2012, 13:27), всего редактировалось 1 раз
В начало
Профиль : Фотоальбом : Личное Сообщение
dimitri
Сообщение  23 Апр 2012, 13:04  Ссылка : Ответить с цитатой
Возраст: 56 Пол: Мужской 
C нами с 19.09.2007
Репутация: 144

Да вообще апач не трогать а в index.html корня прописать редирект в хедере и не париться...
В начало
Профиль : Фотоальбом : Личное Сообщение
Svetic
Сообщение  23 Апр 2012, 13:08  Ссылка : Ответить с цитатой
Возраст: 40 Пол: Женский 
C нами с 01.10.2006
Репутация: 275

myfreenet, на данный момент сделала редиректом, но нужно, чтобы адрес не менялся...
_vitamin_, спасибо, сейчас поизучаю.
dimitri, сайт написан на parser3, там индексный файл не index.html Грустно

_____________________________
Написать неработающую программу легче, чем разобраться в работающей
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение
Svetic
Сообщение  24 Апр 2012, 12:43  Ссылка : Ответить с цитатой
Возраст: 40 Пол: Женский 
C нами с 01.10.2006
Репутация: 275

У меня появился более конкретный вопрос.
Есть ссылка: http://www.stscom.ru/sts/cost/
Мне нужно, чтобы при переходе по данной ссылке сервер отдавал:
http://www.stscom.ru/?magic_page=/sts/cost/ , но пользователь в адресной строке видел по прежнему http://www.stscom.ru/sts/cost/
Пишу:
RewriteRule ^sts/(.+)$ http://www.stscom.ru/?magic_page=/sts/$1
Получаю результат: при переходе по ссылке сервер отдает нужную страницу, но происходит редирект, и пользователь видит уже новый адрес: http://www.stscom.ru/?magic_page=/sts/cost/
Каким образом можно предотвратить редирект или же скрыть из адресной строке ?magic_page= ?

Вопрос снимается!
Решение было простым - сделать путь относительным:
RewriteRule ^sts/(.+)$ ?magic_page=/sts/$1

_____________________________
Написать неработающую программу легче, чем разобраться в работающей
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение
Показать сообщения:   

Unsorted   ~  Software  ~  Development and Design  ~  Помощь по .htaccess

Ответить на тему

Перейти:  





Powered by phpBB   © Unsorted Team  support@unsorted.me  promo@unsorted.me  Полезные скрипты