این ارور Option FollowSymLinks not allowed به خاطر چی ظاهر می شه؟

phpweb

Active Member
این ارور Option FollowSymLinks not allowed به خاطر چی ظاهر می شه؟

من توی لوکال یه سایت نوشتم ولی وقتی آپلودش کردم توی سرور با ارور Option FollowSymLinks not allowed مواجه شدم.

من توی فایل htaccess از FollowSymLinks استفاده نکردم ولی این ارور ظاهر می شه. بنظرتون مشکل چیه؟
 

Cyletech

Member
یه تستی هم اینو کن. تمام دستوراتی که مربوط به تغییر پسوند اپلیکشن ها میشه رو کامنت کن ببین چی میشه. اگر نشد . من یه جا خوندم مربوط به سرور میشه! حالا دقیق نمی کنم چی به چیه.
 

phpweb

Active Member
یه تستی هم اینو کن. تمام دستوراتی که مربوط به تغییر پسوند اپلیکشن ها میشه رو کامنت کن ببین چی میشه. اگر نشد . من یه جا خوندم مربوط به سرور میشه! حالا دقیق نمی کنم چی به چیه.
این کارو کردم، وقتی همه دستورات رو حذف کردم سایت بدون مشکل بالا می یومد.

من تنظیماتی مثل سئو کردن لینکها، کش کردن فایلها، فشرده کردن فایلها، مدیریت خطاهایی مثل 404، قفل کردن www روی لینکها، حذف index.php از انتهای آدرسها و جلوگیری از نمایش محتویات پوشه های فاقد فایل index.php استفاده می کنم. آیا این تنظیمات برای سرور ایجاد مشکل می کنن که امکان استفاده ازشون رو ندارم یا اینکه سروری که انتخاب کردم مشکل داره؟

الان از برتینا استفاده می کنم و واقعا حوصلم رو سر برده. آخه این تنظیمات جز اصول حرفه ای یه وب سایت هستن و نباید غیرفعال باشن.
 

phpweb

Active Member
PHP:
#page not found
ErrorDocument 404 admin/config/router.php?num=404 
#Access forbidden:
ErrorDocument 403 admin/config/router.php?num=403 
#Server error
ErrorDocument 500 admin/config/router.php?num=500 

#To add charset
AddDefaultCharset utf-8



# protect wpconfig.php
<files wp-config.php>
order allow,deny
deny from all
</files>


# STRONG HTACCESS PROTECTION</code>
<Files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</Files>

##############################
# BEGIN Compress text files
<ifModule mod_deflate.c>
  <filesMatch "\.(css|js|php|x?html?)$">
    SetOutputFilter DEFLATE
  </filesMatch>
</ifModule>
# END Compress text files

# BEGIN Expire headers
<ifModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 1 seconds"
  ExpiresByType image/x-icon "access plus 2592000 seconds"
  ExpiresByType image/jpeg "access plus 2592000 seconds"
  ExpiresByType image/png "access plus 2592000 seconds"
  ExpiresByType image/gif "access plus 2592000 seconds"
  ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
  ExpiresByType text/css "access plus 604800 seconds"
  ExpiresByType text/javascript "access plus 216000 seconds"
  ExpiresByType application/javascript "access plus 216000 seconds"
  ExpiresByType application/x-javascript "access plus 216000 seconds"
  ExpiresByType text/html "access plus 600 seconds"
  ExpiresByType application/xhtml+xml "access plus 600 seconds"
</ifModule>
# END Expire headers

# BEGIN Cache-Control Headers
<ifModule mod_headers.c>
  <filesMatch "\.(ico|jpe?g|png|gif|swf)$">
    Header set Cache-Control "max-age=2592000, public"
  </filesMatch>
  <filesMatch "\.(css)$">
    Header set Cache-Control "max-age=2592000, public"
  </filesMatch>
  <filesMatch "\.(js)$">
    Header set Cache-Control "max-age=2592000, public"
  </filesMatch>
  <filesMatch "\.(x?html?)$">
    Header set Cache-Control "max-age=600, private, must-revalidate"
  </filesMatch>
</ifModule>
# END Cache-Control Headers

# BEGIN Turn ETags Off
<ifModule mod_headers.c>
  Header unset ETag
</ifModule>
FileETag None
# END Turn ETags Off

# BEGIN Remove Last-Modified Header
<ifModule mod_headers.c>
  Header unset Last-Modified
</ifModule>
# END Remove Last-Modified Header


RewriteEngine On
RewriteBase /


#no Index.php
RewriteRule ^(.*)(/?)index\.php$ /$1 [R=301,L]
RewriteRule ^(.*)(/?)index\.html$ /$1 [R=301,L]
RewriteRule ^(.*)(/?)index\.htm$ /$1 [R=301,L]

RewriteRule ^main/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ main.php?controller=$1&action=$2 [NC,L]
RewriteRule ^main/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ main.php?controller=$1&action=$2&param1=$3 [NC,L]
RewriteRule ^main/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ main.php?controller=$1&action=$2&param1=$3&param2=$4 [NC,L]
RewriteRule ^main/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ main.php?controller=$1&action=$2&param1=$3&param2=$4&param3=$5 [NC,L]

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ admin/config/router.php?num=404 [NC,L]
 

Cyletech

Member
الآن متوجه یه چیزی شدم. تو اینو تست کن.
کد:
RewriteEngine On
#RewriteBase /

#page not found
ErrorDocument 404 admin/config/router.php?num=404 
#Access forbidden:
ErrorDocument 403 admin/config/router.php?num=403 
#Server error
ErrorDocument 500 admin/config/router.php?num=500 

#To add charset
AddDefaultCharset utf-8



# protect wpconfig.php
<files wp-config.php>
order allow,deny
deny from all
</files>


# STRONG HTACCESS PROTECTION</code>
<Files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</Files>

##############################
# BEGIN Compress text files
<ifModule mod_deflate.c>
  <filesMatch "\.(css|js|php|x?html?)$">
    SetOutputFilter DEFLATE
  </filesMatch>
</ifModule>
# END Compress text files

# BEGIN Expire headers
<ifModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 1 seconds"
  ExpiresByType image/x-icon "access plus 2592000 seconds"
  ExpiresByType image/jpeg "access plus 2592000 seconds"
  ExpiresByType image/png "access plus 2592000 seconds"
  ExpiresByType image/gif "access plus 2592000 seconds"
  ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
  ExpiresByType text/css "access plus 604800 seconds"
  ExpiresByType text/javascript "access plus 216000 seconds"
  ExpiresByType application/javascript "access plus 216000 seconds"
  ExpiresByType application/x-javascript "access plus 216000 seconds"
  ExpiresByType text/html "access plus 600 seconds"
  ExpiresByType application/xhtml+xml "access plus 600 seconds"
</ifModule>
# END Expire headers

# BEGIN Cache-Control Headers
<ifModule mod_headers.c>
  <filesMatch "\.(ico|jpe?g|png|gif|swf)$">
    Header set Cache-Control "max-age=2592000, public"
  </filesMatch>
  <filesMatch "\.(css)$">
    Header set Cache-Control "max-age=2592000, public"
  </filesMatch>
  <filesMatch "\.(js)$">
    Header set Cache-Control "max-age=2592000, public"
  </filesMatch>
  <filesMatch "\.(x?html?)$">
    Header set Cache-Control "max-age=600, private, must-revalidate"
  </filesMatch>
</ifModule>
# END Cache-Control Headers

# BEGIN Turn ETags Off
<ifModule mod_headers.c>
  Header unset ETag
</ifModule>
FileETag None
# END Turn ETags Off

# BEGIN Remove Last-Modified Header
<ifModule mod_headers.c>
  Header unset Last-Modified
</ifModule>
# END Remove Last-Modified Header


#no Index.php
RewriteRule ^(.*)(/?)index.php$ /$1 [R=301,L]
RewriteRule ^(.*)(/?)index.html$ /$1 [R=301,L]
RewriteRule ^(.*)(/?)index.htm$ /$1 [R=301,L]

RewriteRule ^main/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ main.php?controller=$1&action=$2 [NC,L]
RewriteRule ^main/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ main.php?controller=$1&action=$2&param1=$3 [NC,L]
RewriteRule ^main/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ main.php?controller=$1&action=$2&param1=$3&param2=$4 [NC,L]
RewriteRule ^main/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ main.php?controller=$1&action=$2&param1=$3&param2=$4&param3=$5 [NC,L]

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ admin/config/router.php?num=404 [NC,L]
 

phpweb

Active Member
من الان از کد زیر استفاده می کنم ولی باز هم جواب نمی ده.

البته این بار اروری نمایش داده نمی شه ولی وقتی وارد لینک می شم، به صفحه اول سایت ریدایرکت می شم.

احتمالا این سرور از مد ریرایت پشتیبانی نمی کنه.
PHP:
RewriteEngine On

RewriteRule ^admin/panel/([a-zA-Z0-9]*)/([a-zA-Z0-9]*)$ admin/panel.php?action=$1&page=$2 [NC,L]
RewriteRule ^admin/panel/([a-zA-Z0-9]*)/([a-zA-Z0-9]*)/([a-zA-Z0-9]*)$ admin/panel.php?action=$1&page=$2&id=$3 [NC,L]
RewriteRule ^admin/panel/([a-zA-Z0-9]*)/([a-zA-Z0-9]*)/([a-zA-Z0-9]*)/([a-zA-Z0-9]*)/([a-zA-Z0-9]*)$ admin/panel.php?action=$1&type=$2&page=$3&id=$4&p=$5 [NC,L]
RewriteRule ^admin/main/([a-zA-Z0-9]*)$ admin/main.php?action=$1 [NC,L]
RewriteRule ^admin/main/([a-zA-Z0-9]*)/([a-zA-Z0-9]*)$ admin/main.php?action=$1&word=$2 [NC,L]
RewriteRule ^admin/main/([a-zA-Z0-9]*)/([a-zA-Z0-9]*)/([a-zA-Z0-9\._\-]*)/([a-zA-Z0-9]*)$ admin/main.php?action=$1&usertype=$2&userid=$3&word=$4 [NC,L]
RewriteRule ^admin/users/([a-zA-Z0-9]*)/([a-zA-Z0-9]*)/([a-zA-Z0-9]*)/([a-zA-Z0-9]*)$ admin/users.php?action=$1&page=$2&type=$3&id=$4 [NC,L]
RewriteRule ^admin/settings/([a-zA-Z0-9]*)/([a-zA-Z0-9]*)/([a-zA-Z0-9]*)/([a-zA-Z0-9]*)$ admin/settings.php?action=$1&page=$2&type=$3&id=$4 [NC,L]
RewriteRule ^admin/file/([a-zA-Z0-9]*)/([a-zA-Z0-9]*)/([a-zA-Z0-9]*)/([a-zA-Z0-9]*)$ admin/file.php?action=$1&page=$2&type=$3&id=$4 [NC,L]
 

Cyletech

Member
خب پس مشکل قبلی برطرف شد. دلیلش این بود که شما باید بخاطر بسپاری RewriteEngine On رو باید اول بگذاری بعد زیرش هرچی خواستی. این ریدایرکت هم ربطی به RewriteRule نداره. این دستور فقط اونی که مشخص کردی رو دایرکت می کنه. شما خط زیر رو کلاً کامنت کن:
کد:
#no Index.php
RewriteRule ^(.*)(/?)index.php$ /$1 [R=301,L]
RewriteRule ^(.*)(/?)index.html$ /$1 [R=301,L]
RewriteRule ^(.*)(/?)index.htm$ /$1 [R=301,L]
چون دستورت اشتباست. خط زیر رو بجاش بنویس:
کد:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://www.example.com/ [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.example.com/ [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.htm\ HTTP/
RewriteRule ^index\.htm$ http://www.example.com/ [R=301,L]
 

phpweb

Active Member
خب پس مشکل قبلی برطرف شد. دلیلش این بود که شما باید بخاطر بسپاری RewriteEngine On رو باید اول بگذاری بعد زیرش هرچی خواستی. این ریدایرکت هم ربطی به RewriteRule نداره. این دستور فقط اونی که مشخص کردی رو دایرکت می کنه. شما خط زیر رو کلاً کامنت کن:
نه برطرف نشده.
الان اگر کاربر روی هر لینکی که به صورت کاربرپسند هست کلیک کنه، اون لینک باز نمی شه و کاربر به صفحه اول ریدایرکت می شه.

قبلا روی هاست پولی گیگفا از همین کدها استفاده می کردم و سایت بدون مشکل بالا می یومد ولی روی هاست برتینا با این مشکلات مواجه می شم.

در مورد RewriteEngine On : اگر این کد در ابتدای صفحه قرار بگیره، مشکلی برای بقیه کدها که با این مد کاری ندارن ایجاد نمی کنه؟
 

Cyletech

Member
لینک زیر رو چک کن
http://kurinchiblogger.wordpress.co...mod_rewrite-is-turned-onoff-in-apache-server/
در مورد RewriteEngine On : اگر این کد در ابتدای صفحه قرار بگیره، مشکلی برای بقیه کدها که با این مد کاری ندارن ایجاد نمی کنه؟
دقیقاً جای این دستور تو فایل مربوطه نمی دونم کجاست ولی همیشه در اول مشاهده کردم خودمم! اگر چیزی فهمیدی در این باره با منم به اشتراک بذار لطفاً :rose:
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا