htaccess چیست؟ (و مهمترین دستورات htaccess)
بسیاری از کارهایی که نیاز به برنامهنویسیهای پیشرفته دارد، گاهی اوقات با یک خط کد که داخل فایلی با پسوند htaccess قرار میگیرد، ممکن میشود.
کارهایی از این قبیل:
- اجازه ندادن به سایتهای دیگر برای نمایش دادن عکسهای سایت شما در سایتشان
- اجازه ندادن به آی.پیهای خاص بریا ورود به کل سایت
- نمایش یک عکس خاص به جای عکسهای سایت شما که در سایتهای دیگر قرار دارند
- ری.دایرکت (Redirect) کردن کاربران به یک آدرس جدید
و کارهایی از این دست...
برای آشنایی با HTACCESS به مقالهای جامع و فارسی در این زمینه در این آدرس مراجعه کنید.
در ادامه، مهمترین کدها همراه با کاری که هر یک انجام میدهند، لیست شدهاند:
A list of htaccess code snippets and examples.
Any web designer MUST know them.
Any htaccess rewrite examples should always begin with:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
This lets google crawl the page, lets me access the whole site (24.205.23.222) without a password, and lets my client access the page WITH a password. It also allows for XHTML and CSS validation! (w3.org):
AuthName “SiteName Administration”
AuthUserFile /home/sitename.com/.htpasswd
AuthType basic
Require valid-user
Order deny,allow
Deny from all
Allow from 24\\.205\\.23\\.222
Allow from w3.org htmlhelp.com
Allow from googlebot.com
Satisfy Any
Make any file be a certain filetype (regardless of name or extension)
#Makes image.gif, blah.html, index.cgi all act as php
ForceType application/x-httpd-php:
Redirect non-https requests to https server fixing
double-login problem and ensuring that htpasswd authorization can only
be entered using HTTPS
SSLOptions +StrictRequire
SSLRequireSSL
SSLRequire %{HTTP_HOST} eq “google.com”
ErrorDocument 403 https://google.com
SEO Friendly redirects for bad/old links and moved links
For single moved file:
Redirect 301 /d/file.html http://www.htaccesselite.com/r/file.html
For multiple files like a blog/this.php?gh:
RedirectMatch 301 /blog(.*) http://www.askapache.com/$1
different domain name:
Redirect 301 / http://www.newdomain.com
Require the www:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/robots\\.txt$
RewriteCond %{HTTP_HOST} !^www\\.example\\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
Require the www without hardcoding:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/robots\\.txt$ [NC]
RewriteCond %{HTTP_HOST} !^www\\.[a-z-]+\\.[a-z]{2,6} [NC]
RewriteCond %{HTTP_HOST} ([a-z-]+\\.[a-z]{2,6})$ [NC]
RewriteRule ^/(.*)$ http://%1/$1 [R=301,L]
Require no subdomain:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/robots\\.txt$
RewriteCond %{HTTP_HOST} \\.([a-z-]+\\.[a-z]{2,6})$ [NC]
RewriteRule ^/(.*)$ http://%1/$1 [R=301,L]
Require no subdomain:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} \\.([^\\.]+\\.[^\\.0-9]+)$
RewriteCond %{REQUEST_URI} !^/robots\\.txt$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Redirect everyone to different site except 1 IP address (useful for web-development):
ErrorDocument 403 http://www.someothersite.com
Order deny,allow
Deny from all
Allow from 24.33.65.6
Add a “en-US” language tag and “text/html; UTF-8″ headers without meta tags:
AddDefaultCharset UTF-8
# Or AddType ‘text/html; charset=UTF-8′ html
DefaultLanguage en-US
Using the Files Directive:
AddDefaultCharset UTF-8
DefaultLanguage en-US
Using the FilesMatch Directive (preferred):
AddDefaultCharset UTF-8
DefaultLanguage en-US
Securing directories: Remove the ability to execute scripts:
AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi
Options –ExecCGI
Only allow GET and PUT request methods to your server.
Options -ExecCGI -Indexes -All +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_METHOD} !^(GET|PUT)
RewriteRule .* - [F]
Processing All gif files to be processed through a cgi script:
Action image/gif /cgi-bin/filter.cgi
Process request/file depending on the request method:
Script PUT /cgi-bin/upload.cgi
Force Files to download, not be displayed in browser:
AddType application/octet-stream .avi
AddType application/octet-stream .mpg
Dramatically Speed up your site by implementing Caching!:
# MONTH
Header set Cache-Control “max-age=2592000″
# WEEK
Header set Cache-Control “max-age=604800″
# DAY
Header set Cache-Control “max-age=43200″
Prevent Files image/file hotlinking and bandwidth stealing:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\\.)?askapache.com/.*$ [NC]
RewriteRule \\.(gif|jpg|swf|flv|png)$ http://www.askapache.com/evil-hotlinker.gif [R=302,L]
ErrorDocuments:
ErrorDocument 404 /favicon.ico
ErrorDocument 403 https://secure.htaccesselite.com
ErrorDocument 404 /cgi-bin/error.php
ErrorDocument 400 /cgi-bin/error.php
ErrorDocument 401 /cgi-bin/error.php
ErrorDocument 403 /cgi-bin/error.php
ErrorDocument 405 /cgi-bin/error.php
ErrorDocument 406 /cgi-bin/error.php
ErrorDocument 409 /cgi-bin/error.php
ErrorDocument 413 /cgi-bin/error.php
ErrorDocument 414 /cgi-bin/error.php
ErrorDocument 500 /cgi-bin/error.php
ErrorDocument 501 /cgi-bin/error.php
Authentication Magic
Require password for 1 file:
AuthName “Prompt”
AuthType Basic
AuthUserFile /home/askapache.com/.htpasswd
Require valid-user
Protect multiple files:
AuthName “Development”
AuthUserFile /.htpasswd
AuthType basic
Require valid-user
Example uses of the Allow Directive:
# A (partial) domain-name
Allow from 10.1.0.0/255.255.0.0
# Full IP address
Allow from 10.1.2.3
# More than 1 full IP address
Allow from 192.168.1.104 192.168.1.205
# Partial IP addresses
# first 1 to 3 bytes of IP, for subnet restriction.
Allow from 10.1
Allow from 10 172.20 192.168.2
# network/netmask pair
Allow from 10.1.0.0/255.255.0.0
# network/nnn CIDR specification
Allow from 10.1.0.0/16
# IPv6 addresses and subnets
Allow from 2001:db8::a00:20ff:fea7:ccea
Allow from 2001:db8::a00:20ff:fea7:ccea/10
Using visitor dependent environment variables:
SetEnvIf User-Agent ^KnockKnock/2\\.0 let_me_in
Order Deny,Allow
Deny from all
Allow from env=let_me_in
block access to files during certain hours of the day:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
# If the hour is 16 (4 PM) Then deny all access
RewriteCond %{TIME_HOUR} ^16$
RewriteRule ^.*$ - [F,L]
.
- مطالب مرتبط:
- طریقه ثبت یك سایت در موتورهای جستجو
- آموزش ویدئویی ارسال یک پست در وردپرس به طور کامل (wordpress post)
- مرجع كامل كد HTML رنگ ها (کد شش رقمی رنگ ها)
- ارتباط نام سایت و رتبه آن در موتورهای جستجو
- روان شناسی رنگ ها در طراحی صفحات وب
- كد نمایش آنلاین بودن مدیر سایت، در یاهو مسنجر
- ------------
- فرق html با htm چیست؟
- چطور یک فرم جمعآوری نظرات یا اطلاعات تحت وب با امکانات عالی بسازیم
- توئیتر چیست؟ یا همه چیز دربارهی توییتر (?What is twitter)
- قضیه هرون (Heron) در مثلثات
- چطور بفهمیم فرمت یک فایل چیست و با چه نرمافزاری باز میشود؟
ارسال سؤال یا نظر
1- ایلیا:
بوسیله: , در: Saturday, 2009 May 09-کد: 855
خوبه
http://qpnu.org [qpnu.org]
2- امین:
بوسیله: , در: Monday, 2010 March 08-کد: 1468
به نام خدا . با سلام . از مطلب جالبتون ممنون
3- نجات:
بوسیله: , در: Monday, 2011 August 01-کد: 3377
سلام
واقعا معلوماتی که ارائه کردید بسیار علی بود
تشکر فراوان....