نقل قول نوشته اصلی توسط hejazee نمایش پست ها
با تشکر از دوست عزیزمان.
بنده روش بهتری را پیشنهاد می کنم که پیشرفته تر از روش قبلی است و از سیستم drupal اقتباس شده است:

برای باز شدن سایت با پیشوند www :
کد PHP:
<ifmodule mod_rewrite.c>
  
rewriteengine on
  rewriterule 
^ - [e=protossl]
  
rewritecond %{httpson
  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 %{httpson
  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 نداره!!!