آدرس سایت با www یا بدون www
	
	
		شاید برای شما هم پیش آمده باشد که ببینید بعضی سایت ها www.  دارند ولی بعضی از آنها بدون www  می باشند!
 به نظر من نبودن www از دونش بهتره , خوب سلیقه هست دیگه, شما هم می  تونید سایتتونو با www یا بدون اون لود کنید اما مشکل اصلی اینه که نباید  با هر دو تا لود بشه!یعنی یا فقط با www یا فقط بدون www؛
 چون روی سئو وب سایت شما تاثیر منفی دارد, و تقریبا رنک امتیاز  با www و  بدون اون جدا میشه و گوگل اونها رو دو تا آدرس جدا از هم می دونه!
 برای مثال :
 PHP تیــــــک - طراحی وب, آموزش و پروژه با  phptik.com فرق می کنه و برای گوگل دو تا صفحه جداست!
 www.phptik.com/mypage  هم با آدرس phptik.com/mypage فرق می کنه اگه تا  الان بیخیال این قضیه بودید احتمالا الان متوجه میشید که این یه فاجعه  هست!
 حالا راه حل !
 بهتره اول تصمیم بگیریم سایت با www باشه یا بدون اون؟!
 فایل htaccess ادیت کنید و
 اگه مایل هستید سایت با www فقط بالا بیاد:
 
	کد PHP:
	
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 
  اگه مایل هستید سایت بدون www بالا بیاد :
 
	کد PHP:
	
RewriteEngine On
RewriteCond %{HTTP_HOST} !^my-domain\.com$ [NC]
RewriteRule ^(.*)$ http://my-domain.com/$1 [R=301,L] 
   http://www.phptik.com/wp-includes/im...icon_smile.gif  به همین راحتی این دیگه غصه خوردن نداره
منبع: آدرس سایت با www یا بدون www			
	 
	
	
	
		پاسخ : آدرس سایت با www یا بدون www
	
	
		ممنون بابت اموزش:x خیلی از دوستان این مشکل برمیخورند 8-|
	 
	
	
	
		پاسخ : آدرس سایت با www یا بدون www
	
	
		دَم  ِ شما گرم . خیلی لازمم بود ;;)
	 
	
	
	
		پاسخ : آدرس سایت با www یا بدون www
	
	
		با تشکر از دوست عزیزمان.
بنده روش بهتری را پیشنهاد می کنم که پیشرفته تر از روش قبلی است و از سیستم Drupal اقتباس شده است:
برای باز شدن سایت با پیشوند www :
	کد PHP:
	
<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteRule ^ - [E=protossl]
  RewriteCond %{HTTPS} on
  RewriteRule ^ - [E=protossl:s]
  RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
  RewriteCond %{HTTP_HOST} .
  RewriteCond %{HTTP_HOST} !^www\. [NC]
  RewriteRule ^ http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule> 
 برای باز شدن سایت بدون پیشوند www:
	کد PHP:
	
<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteRule ^ - [E=protossl]
  RewriteCond %{HTTPS} on
  RewriteRule ^ - [E=protossl:s]
  RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
  RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
  RewriteRule ^ http%{ENV:protossl}://%1%{REQUEST_URI} [L,R=301]
</IfModule> 
 برخی از مزایای این روش:
1 - پشتیبانی از https
2 - عدم نیاز به تغییر کد برای دامنه های مختلف. دقیقا همین کد را همه جا می توانید استفاده کنید.
3 - عدم بروز مشکل در صورت نصب نبودن ماژول rewrite
4 - پشتیبانی از احراز هویت کاربر (حتی در حالت استفاده از FastCGI)
	 
	
	
	
		پاسخ : آدرس سایت با www یا بدون www
	
	
		از راهنمایی خوبتون ممنون ولی من روش اول رو بیشتر میپسندم استفاده از کدهای پیچیده از نظر امنیتی درست نیست
	 
	
	
	
		پاسخ : آدرس سایت با www یا بدون www
	
	
		
	نقل قول:
	
		
		
			
				نوشته اصلی توسط 
vebc
				 
			از راهنمایی خوبتون ممنون ولی من روش اول رو بیشتر میپسندم استفاده از کدهای پیچیده از نظر امنیتی درست نیست
			
		
	 
 دوست عزیز، این طور که می فرمایید نیست.
اولا که این کد پیچیده نیست و ساده است.
ثانیا مشکل امنیتی به خصوصی ندارد.
ثالثا مشکلات روش قبلی رو نداره و از حالت ها و کانفیگ های بیشتری در سرور پشتیبانی می کنه
و از این گذشته این فرضیه که "استفاده از کدهای پیچیده از نظر امنیتی درست نیست" ایده ی صحیحی نمی باشد. زمانی که کد درست نوشته شده باشد، استفاده از آن همواره توصیه می شود.
پیروز باشید.
	 
	
	
	
		پاسخ : آدرس سایت با www یا بدون www
	
	
		بهتره قبل از این امور چک کنید ببینید سایت شما یا تریپل دابیلیو رنک گرفته یا بدون اون بعدش اقدام به تصمیم گیری کنید 
چون بسیاری از ساتا فقط بدون این مورد رنک دارن که اگه متقل کنن سرعت ایندکس میاد پایین
	 
	
	
	
		پاسخ : آدرس سایت با www یا بدون www
	
	
		
	نقل قول:
	
		
		
			
				نوشته اصلی توسط 
hejazee
				 
			با تشکر از دوست عزیزمان.
بنده روش بهتری را پیشنهاد می کنم که پیشرفته تر از روش قبلی است و از سیستم drupal اقتباس شده است:
برای باز شدن سایت با پیشوند www :
	کد PHP:
	
<ifmodule mod_rewrite.c>
  rewriteengine on
  rewriterule ^ - [e=protossl]
  rewritecond %{https} on
  rewriterule ^ - [e=protossl:s]
  rewriterule ^ - [e=http_authorization:%{http:authorization}]
  rewritecond %{http_host} .
  Rewritecond %{http_host} !^www\. [nc]
  rewriterule ^ http%{env:protossl}://www.%{http_host}%{request_uri} [l,r=301]
</ifmodule> 
 برای باز شدن سایت بدون پیشوند www:
	کد PHP:
	
<ifmodule mod_rewrite.c>
  rewriteengine on
  rewriterule ^ - [e=protossl]
  rewritecond %{https} on
  rewriterule ^ - [e=protossl:s]
  rewriterule ^ - [e=http_authorization:%{http:authorization}]
  rewritecond %{http_host} ^www\.(.+)$ [nc]
  rewriterule ^ http%{env:protossl}://%1%{request_uri} [l,r=301]
</ifmodule> 
 برخی از مزایای این روش:
1 - پشتیبانی از https
2 - عدم نیاز به تغییر کد برای دامنه های مختلف. دقیقا همین کد را همه جا می توانید استفاده کنید.
3 - عدم بروز مشکل در صورت نصب نبودن ماژول rewrite
4 - پشتیبانی از احراز هویت کاربر (حتی در حالت استفاده از fastcgi)
	 
 
یعنی چی از دروپال اقتباس شده اصلا چه ربطی به دروپال داره شما با این رول ها به وب سرور آپاچی میگید چطور عمل کنه هیچ ربطی هم به cms نداره!!!
	 
	
	
	
		پاسخ : آدرس سایت با www یا بدون www
	
	
		
	نقل قول:
	
		
		
			
				نوشته اصلی توسط 
compiler
				 
			یعنی چی از دروپال اقتباس شده اصلا چه ربطی به دروپال داره شما با این رول ها به وب سرور آپاچی میگید چطور عمل کنه هیچ ربطی هم به cms نداره!!!
			
		
	 
 دوست عزیز، یعنی این که کدهای فوق در فایل .htaccess ای که همراه با Drupal 7.24 موجود است، وجود دارد. در واقع من کدها را از این نرم افزار Open source اقتباس کرده ام.
این جا را ببینید:
http://drupalcode.org/project/drupal...79c:/.htaccess
	 
	
	
	
		پاسخ : آدرس سایت با www یا بدون www
	
	
		اینا برای وب سرور apache هست...
همه که وب سروشون آپاچی نیست.
تنظیمات برای وب سرور nginx: 
انتقال دامنه بدون www به دامنه با www :
	کد:
	
server {
        server_name example.com;
        return 301 $scheme://www.example.com$request_uri;
}
 بلعکس:
	کد:
	
server {
        server_name www.example.com;
        return 301 $scheme://example.com$request_uri;
}