نحوه تبدیل این لینک :
project.php?catid=1
به این لینک :
category/1/مدیریت/
توضیح بدین و بفرمایید اگر کاربر لینک دوم رو اجرا کنه از کجا تعیین کنیم کدوم فایل روی هاست اجرا بشه ؟
اولی که معلومه project.php اجرا میشه دومی چی ؟
Printable View
نحوه تبدیل این لینک :
project.php?catid=1
به این لینک :
category/1/مدیریت/
توضیح بدین و بفرمایید اگر کاربر لینک دوم رو اجرا کنه از کجا تعیین کنیم کدوم فایل روی هاست اجرا بشه ؟
اولی که معلومه project.php اجرا میشه دومی چی ؟
دوستان من به اين شکل کار کردم ولي جواب ندادالبته بگم که روي
easyphp 5.3.8.0
کار کردم آيا ميشه از اون باشه ؟
RewriteEngine on
RewriteRule ^(.+)/(.+)/?$ last2.php?id=$1&q=$2 [NC,L]
دسستون درد نکنه لذت بردم
با اینکه کسی اینجا جواب ما رو نداد اما با سعی خودم سایت کلا لینکاش فارسی شد : :خجالت:
http://www.POROJE.Com
جناب رضا قربانی عزیز ضمن تشکر از زحمات جنابعالی لازم به ذکره که شما در این تاپیک خیلی زحمت کشیدین و کار خیلارو راه انداختین من از طرف اون ها هم از شما سپاسگزارم- اما بنده در تاریخ دوشنبه 25 دی 1391 19:18 عصر در پست شماره 102 سوالی پرسیدم که تا تاریخ چهارشنبه 09 اسفند 1391 22:08 عصر !!!!! کسی به اون جواب نداد باورتون میشه ؟! یعنی 45 روز ! و در این مدت خودم حلش کردم-از این بابت نوشتم کسی به ما کمک نکرد- البته 1 نکته دیگروهم در نظر داشته باشید : من گفتم کسی کمکم نکرد نه صرفا جناب قربانی کمکم نکرد - بازم از زحمات شما در آموزش با ما تازه کارا سپاسگزارم، قصد پست تبلیغاتی دادن ندارم اونو دادم به عنوان نمونه سایرین بررسی کنند.
با تشکر از شما
یکی از سایت های مفید که می تونید ازش توی ساختن آدرس ها کمک بگیرید ، البته با کمی تغییرات بر روی کدهایی که بهتون میده :
http://www.generateit.net/mod-rewrite/
واسه تمرین عالی هست و خیلی کمکتون می کنه
موفق باشید
کار این کد چی هست؟
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 300 days"
</ifModule>
فکر کنم می گه صفحات تاریخ انقضا داشته باشند و مدتش هم بیشتر از 300 روز باشه.
سلام دوستان
یه سوال فنی!
من با این دستورات توی htaccess کاری کردم که عکس های آپلود شده توی آپلودسنترم، فقط و فقط برای دامین خودم نمایش داده بشن!
حالا یه ضعف داره و یه کمبود!
ضعفش : وقتی کسی مستقیما میخواد یه عکسی رو ببینه، بازم پیغام خطا میده که عکس فقط توی فلان دامین نمایش داده میشه!
یعنی میخوام علاوه بر اینکه توی دامین مشخص شده نمایش داده بشه، هر کسی که لینک مستقیم رو داره و میخواد توی مرورگر مستقیما عکس رو ببینه هم بتونه باز کنه!
بر فرض لینک رو اینجوری توی مرورگر وارد کنه : http://Site.com/image.jpg
کمبود : کمبودش اینه که میخوام علاوه بر نشون دادن عکس دلخواهم که توش نوشته دسترسی به این عکس فقط از فلان سایت امکان پذیر هست، لینک هم بشه!
که کاربرا رو اون لینک کلیک کنن و بیان تو سایت.
کسی میتونه منو راهنمایی کنه؟
سلام دوستان
چجوری میتونم با ارسال اطلاعات از یک سایت دیگه(مثلا فرمی در صفحه وبلاگ)، به یک صفحه php در سایتم، اونو اجرا کنم و ورودی هاشو از وبلاگ بگیرم!!!!؟
البته در حالتی که کد
RewriteRule .*\.(.*)$ http://www.example.ir [R,NC]
رو بر میدارم درست کار میکنه و اجرا میشه!!! (این کد فکر کنم در واقع دسترسی مستقیم یا دسترسی از سایت های دیگر رو می بنده! درسته؟)
ولی من میخوام با وجود این کد هم بتونم اون کار رو انجام بدم! (البته اگه بشه که صفحه ی php، فقط به آدرس مورد نظر من جواب بده که بهتر میشه! یعنی با مشخص کردن آدرس یا آی پی اون)
با سلام و خسته نباشید خدمت همگی دوستان :قلب:
بدون مقدمه
جریان کار این موضوع زمانی رخ می دهد که افرادی بدون اینکه عکسی را دانلود و بر روی سرور خود آپلود کنند، به راحتی و با لینک کردن آن عکس از سایت شما باعث مصرف بیش از حد انتظار پهنای باند می شوند. مخصوصا اگر مطلب شما مطلبی پر بیننده باشد و چندین بار این کار انجام شود. اما جای نگرانی نیست.
برای جلوگیری از این موضوع می توانید از فایل .htaccess موجود در فولدر اصلی هاست خود استفاده کنید :
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain.com/.*$ [NC]
RewriteRule \.(gif|jpg|png)$ - [F]
موفق باشید
با سلام
دوستان سوال من در مورد RewriteRule بود البته یکم فرق داره
تا الان من با این دستور میومدیم و آدرس زیر رو تبدیل به آدرس 2 می کردیم
آدرس قبلی
localhost/index.php?fbc=25
کد httaccess
RewriteRule ^fbc=(.*)?$ ./index.php?fbc=$1 [L]
آدرس جدید
localhost/fbc=25&
تا اینجا مشکلی نیست مشکل از اینجا شروع میشه که فرض رو بر این بزارین که ما در آدرس اولیه 2 متغیر داشته باشیم مثلا
localhost/index.php?fbc=25&cn=15
حال من می خواهم یک همچین آدرسی رو بدیت بیاورم
localhost/cn=12
یعنی کدی می خواهم که متغیر اولیه رو نادیده بگیره
شاید سوالم مفهمو نباشه ولی فرض کنید که ما در سایتون یک آدرس داریم با این نام
localhost/num.html
که به جای num یک عدد از 1 تا 10 قرار دارد حال می خواهم کاری کنم که وقتی ما آدرس زیر رو وارد می کنیم
localhost/sd=65&num=5
صفحه ای رو باز کند که با 5.html هست
امیدوارم منطورم رو متوجه شده باشید تاکید میکنم که num متغیر اول نباشد
با تشکر
سلام
برای ایجاد ساب دامین مجازی wild card DNS بر روی سرور اشتراکی فعال هست .
از این کد استفاده می کنم :
RewriteEngine On RewriteCond %{HTTP_HOST} ^([^.]+).web.ir$ [NC] RewriteCond %1 !^(www|ftp|mail)$ [NC] RewriteRule ^.*$ http://web.ir/blog/blog.php?id=%1
از کد زیر هم استفاده کردم :
RewriteEngine On
RewriteCond ${HTTP_HOST} ^([^.]+).web.ir$ [NC]
RewriteCond $1 !^(www|ftp|mail)$ [NC]
RewriteRule ^(.*)$ http://web.ir/blog/blog.php?id=$1
با وارد کردن ساب دامین ها ، صفحه پیش فرض سرور نمایش داده میشه
داداشی گل وقتی دو تا گت ارسال می کنید دیگه نمیشه موقع تغییر آدرس یکی از گت ها رو حذف کنید localhost/cn=12 (یکی دیگه رو کجا باید جا بدیم ؟) برای ارسال دو گت می تونید از این کد استفاده کنید :نقل قول:
تا اینجا مشکلی نیست مشکل از اینجا شروع میشه که فرض رو بر این بزارین که ما در آدرس اولیه 2 متغیر داشته باشیم مثلا
localhost/index.php?fbc=25&cn=15
حال من می خواهم یک همچین آدرسی رو بدیت بیاورم
localhost/cn=12
RewriteRule ^([^-]*)-([^-]*)/?\.html$ product.php?view=$1&product=$2 [L]
خروجیش میشه www.abc.com/130/cnc.html
یا برای سئو هم می تونید به این شکل تغییر بدید abc.com/130-cnc.html
و محتویات مقدار گت ها هم از پست شماره 80 همین تاپیک
پست های قبلی رو مطالعه کنید به راحتی می تونید آدرس های خودتون رو بهینه کنید.
موفق باشید
یک نکته مهم که خیلی از بچه ها به مشکل می خورن و پیام میدن اینه که در بعضی از مواقع (مثلا برای دو زبانه بودن سایت) نیاز دارن تا دو تا فایل .htaccess در فولدر های متفاوت ایجاد کنند (یکی در ریشه سایت و دیگری در فولدر)در اینجا به ارور 500 بر می خورند :
که راه حل مشکل اینه که وقتی فایل .htaccess رو در فولدر جدا ایجاد می کنید در ابتدای فایل از این کدها استفاده نکنید (مستقیما ریرایت رو بنویسید) :
AddDefaultCharset utf-8
Options +FollowSymlinks
RewriteEngine On
همون در ریشه سایت در اولین فایل استفاده کردید کافیه ، و ما بقیه فایل های htaccess از فایلی که در ریشه سایت هست پیروی می کنند .
موفق باشید
من دارم یه mvc مینویسم ، میخوام تمامی url هایی که تایپ می کنم در قسمت آدرس بار ، Rewrite بشه روی index.php یعنی به این صورت :
index/controller یا index/example یعنی rewrite بشه روی index.php ولی یه صفحه ی هست به نام 404.php که نمی خوام Rerwite بشه برای اینکه تنها فقط این صفحه یعنی میزنم index/404.php rewite نشه باید چیکار
کنم ، یعنی اطلاعات صفحه ی 404.php را نشون بده ؟
اینطوری که نمیشه . شما باید از پایه بیاموزید و جریان کار رو توی دستتون بگیرید . اینطوری که شما بیان کردید متوجه شدم که چیزی زیادی در این مورد نمیدونید . کلیه اطلاعات در این تاپیک موجوده و هر عملی هم که می خواهین میتونید انجام بدید ، و فقط کافیه که خودتون تلاش و استفاده کنید .
موفق باشید دوست من
سلام به دوستان ، یه سوال داشتم ،
این فایل htaccess منه :
<Files .htaccess>
order allow,deny
deny from all
</Files>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Options -Indexes
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]
من یه mvc دارم ،
که مثلا یکی از Controller ها به این صورت هست :
category/show/music من میخوام Action که اینجا show هست را از url حذف کنم و این را تبدیل کنم به این حالت :
category/music میشه یکی برام htaccess را برام بازنویس کنه ؟ ممنون.
سلام. یک سوال؟؟؟؟؟؟؟؟
کل تاپیک رو خوندم ولی نیافتم. نمی دونم شاید بود بنده متوجه نشدم.
ببینید اگه بخوایم سطح دسترسی رو از طریق آدرس دهی ببندیم ولی از طریق خود برنامه این امکان وجود داشته باشه چکار باید بکنیم.
مثلا ما یک پوشه به اسم Admin داریم که در اون فایل هایی مثل login.php ، index.php ، txtmanagement.php و ..... دیگه باشه. ما می خواهیم کاری کنیم که دیگه با ادرس دهی مستقیم ( مثلا در آدرس بار نوشتیم http://localhost/foldername/admin/txtmanagement.php ) این صفحه باز نشود ولی از طریق خود برنامه امکان دسترسی وجود داشته باشد.
ببینید بنده یک سری کدهای اینجا رو تست کردم یا جواب نمی داد یا سطح دسترسی رو به طور کلی می گرفت یعنی حتی کاربر آدرس http://localhost/foldername/admin رو وارد می کرد هیچ چیز براش نمایش داده نمی شد!!!!!!!!!!!!!!!!!!!
ممنون میشم اگه راهنمایی بفرمایید.
دوست من آدرس اصلی رو فقط و فقط خود شما میدونید و کسی هم نمیتونه در بیاره در صورتی که جایی از سایتتون لینک نکنیدنقل قول:
ببینید اگه بخوایم سطح دسترسی رو از طریق آدرس دهی ببندیم ولی از طریق خود برنامه این امکان وجود داشته باشه چکار باید بکنیم.
مثلا ما یک پوشه به اسم Admin داریم که در اون فایل هایی مثل login.php ، index.php ، txtmanagement.php و ..... دیگه باشه. ما می خواهیم کاری کنیم که دیگه با ادرس دهی مستقیم ( مثلا در آدرس بار نوشتیم http://localhost/foldername/admin/txtmanagement.php ) این صفحه باز نشود ولی از طریق خود برنامه امکان دسترسی وجود داشته باشد.
ببینید الآن شما با این حرفتون کل فایل اچ تی اکسس رو زیر سوال بردید . خب وقتی میخواهید فقط از یک آدرس وارد بشه چه لزومی داره ریرایتش کنید همون آدرس اصلی رو وارد کنید :لبخند: یه کم بیشتر در مورد این گونه فایل تحقیق کنید .
موفق باشید
البنه یکی دیگه از دلایل اینترنال ارور میتونه مشکل خوب کانفیگ نشدن htaccess باشه
واسه درست کردن htaccess از این سایت استفاده کنید خیلی جالبه و کار سئو کردنو اسون کردhttp://www.htaccesseditor.com/en.shtml
این کد htaccess من
موقع باز کردن سایت در لوکال ادرس های فایل ها هم طبق htaccess تغییر میکنن و دیگه لود نمیشنکد HTML:
Options +FollowSymlinks
RewriteEngine On
RewriteBase /CMS
RewriteRule ^more/([^/]*)/([^/]*)$ more.php?more=$1&title=$2 [L]
RewriteRule ^Category/([^/]*)/([^/]*)$ index.php?Category=$1&title=$2 [L]
RewriteRule ^([^/]*)$ index.php?view=$1 [L]
سایت رو باز میکنم بعد با فایرباگ که چک میکنم.کد HTML:<script type="text/javascript" src="frontSite/js/style.js"></script>
"NetworkError: 404 Not Found - http://localhost:81/CMS/more/2/frontSite/css/style.css"
مشکل کجاس ؟
آدرس دهی های کل سایتت باید به صورت کامل باشه.
آدرس فراخوانی فایل ها (css-js-jquery - .... همه)
آدرس دهی به لینک ها ....
مثال :
<script type="text/javascript" src="http://www.test.com/frontSite/js/style.js"></script>or
<a href="http://www.test.com/contact.html" > link</a
ممنون از جوابتون
بامشکل برطرف شذ.کد HTML:<base href="http://localhost:81/CMS/">
راهی هست که دایرکتوری با دستور Options +Indexes برای همه بسته باشه ولی برای آی پی های بخصوص باز باشه ؟
با سلام
من بر روی هاست ام 2 دامنه دارم که می خواهم یکی از دامنه ها فقط یک دایرکتوری خاص رو باز کنه و به بقیه دایرکتوری ها دسترسی نداشته باشه ! چجوری می توانم این کارو با htaccess انجام بدم . سپاس فراوان
ببخشید منظورتون رو متوجه شدم . فرض کنید من دو عدد دامنه به نام های site1.com و site2.org دارم که هر دوشون روی یک هاست ست شده . و در هاست مثلا پوشه های :
css , image , js و ... وجود دارد . حالا دامنه site1.com که می خواهم به همه پوشه دسترسی داشته باشه و بتون همه پوشه هارو باز کند ولی دامنه site2.org فقط بتونه پوشه image رو باز کند که میشه این آدرس site2.org/image رو باز کنه و بقیه پوشه ها رو نتونه باز کنه . تشکر از شما منتظر پاسختون هستم
نقل قول:
نوشته شده توسط hamidreza hushyar
AddDefaultCharset utf-8
Options +SymLinksIfOwnerMatch
RewriteEngine On
RewriteRule ^profile/([^/]*)/([^/]*)/?$ profile.php?user_name=$1 [QSA,NC,L]
خروجی آدرس دهی به این صورته :
www.abc.com/profile/test/
موفق باشید .
سلام خسته نباشید...
با وجود کد
و حتی با اضافه کردن ErrorDocument 403 /403.php به .htaccess بعد از اجرای کد مسدود سازی سایت ارجاع کننده به سایتم صفحه 403 ای که اختصاصی ساختم هنگام رخ دادن این کد ولی فایل 403 دیگری به نمایش در میاد .... چیکار کنم ؟؟؟؟؟کد HTML:RewriteCond %{HTTP_REFERER} domain\.ir [NC,OR]
RewriteRule .* - [F]
403 به این صورت باید بنویسی : ErrorDocument 404 http://www.test.com/403.html
بله در پست های قبلی بن کردن آی پی ها توضیح داده شده . باید کل سایت رو بن کنید و فقط دسترسی رو برای بعضی از آی پی ها باز کنید . (البته آی پی ها همیشه در حال تغییر هستند و کاربر باید آی پی استاتیک داشته باشه).نقل قول:
راهی هست که دایرکتوری با دستور Options +Indexes برای همه بسته باشه ولی برای آی پی های بخصوص باز باشه ؟
موفق باشید
سلام خدمت همگی دوستان برنامه نویس
شاید در سایت شما مشکلات امنیتی وجود داشته باشد که با یک اسکن ساده با استفاده از ابزار های کمکی نظیر Acunetix آن ها را نمایش دهد!
در این پست میخوایم با یک httaccess از این کار جلوگیری کنیم ... :
RewriteEngine On
<IfModule mod_rewrite.c>
RewriteCond %{HTTP_USER_AGENT} ^w3af.sourceforge.net [NC,OR]
RewriteCond %{HTTP_USER_AGENT} dirbuster [NC,OR]
RewriteCond %{HTTP_USER_AGENT} nikto [NC,OR]
RewriteCond %{HTTP_USER_AGENT} SF [OR]
RewriteCond %{HTTP_USER_AGENT} sqlmap [NC,OR]
RewriteCond %{HTTP_USER_AGENT} fimap [NC,OR]
RewriteCond %{HTTP_USER_AGENT} nessus [NC,OR]
RewriteCond %{HTTP_USER_AGENT} whatweb [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Openvas [NC,OR]
RewriteCond %{HTTP_USER_AGENT} jbrofuzz [NC,OR]
RewriteCond %{HTTP_USER_AGENT} libwhisker [NC,OR]
RewriteCond %{HTTP_USER_AGENT} webshag [NC,OR]
RewriteCond %{HTTP:Acunetix-Product} ^WVS
RewriteRule ^.* http://127.0.0.1/ [R=301,L]
</IfModule>
موفق باشید
ببخشید بازم نشد همون 403 دیگری رو باز کرد حتی لینک کامل ادرس 403
آخه مشکل عجیب اینکه وقتی ای پی رو مسدود میکنم فایل 403 اختصاصی من باز میشه ولی وقتی سایتی رو مسدود میکنمم 403 دیگری باز میشه
ErrorDocument 404 http://www.test.com/403.html
403 Forbidden
Access to this resource on the server is denied!
Powered By LiteSpeed Web Server
LiteSpeed Technologies is not responsible for administration and contents of this web site!
خب این دستور رو در ابتدای دستورات قرار بدید و بقیه دستورات در ادامه
حالا چطور میشه مثلا تو این کد گفت که اگر کسی از فلان سایتی ارجاع شد با تو جه به کد
RewriteCond %{HTTP_REFERER} domain\.ir [NC,OR]
براش کوکی سخته شه و اگه همون طرف اگه ادرس سایت رو مستقیم تایپ کرد یا کپی کرد در مرورگر بازهم صفحه براش نیاد ..ممنون دوست عزیزم
کسی نیست از عزیزان کمکم کنه ؟؟؟؟؟
سلام روز همگی بخیر
من می خوام پسوند صفحات سایتم رو به یه پسونده دلخواه تغییر بدم
سایتم خیلی ساده است و ایستاست با: Html, css,java نوشته شده
راههای زیادی رو امتحان کردم متاسفانه موفق نشدم
ممنون می شم اگه راهنماییم کنید
(امیدوارم سوالم رو در قسمته درست مطرح کرده باشم)
با سلام
من جستجو کردم و موارد مربوطه را چک کردم اما به نتیجه نرسیدم، لطفا راهنمایی بفرمایید
از xampp استفاده میکنم
میخوام همه درخواستها به فایل index.php در root ارسال بشه
مواردی که بصورت /blog/ بهمراه querystring هاش به فایل /blog.php ارسال بشه
مواردی که بصورت post/id/ بهمراه querystring هاش به فایل /post.php ارسال بشه
از کد زیر استفاده کردم خیلی هم باهاش کلنجار رفتم اما به نتیجه نرسیدم و پیغام خطای 500 میده
.htaccess
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^blog/([^/]*)$ blog.php?obj_url=$1 [L,NC,QSA]
RewriteRule ^post/([^/]*)$ post.php?obj_url=$1 [L,NC,QSA]
RewriteRule ^(\w+)$ index.php?id=$1
با تشکر
با سلام و تشکر از مطلب آموزنده تون
بنده یه سوال داشتم اگر بخواهم از طریق فایلhtaccess تمامی صفحاتی که پیغام 404 می دهند را با یک تغییر آدرس به صفحه جدیدی منتقل کنم، چه کاری باید انجام دهم.
به طور مثال آدرس:
www.example.com/news/item32
را که با باز شدن در سایت پیغام خطای 404 می دهد را به صفحه
www.example.com/old/news/item32
تبدیل کنم.
فقط نکته مهم اینه که صفحاتی که پیغام 404 می دهند این اتفاق بیوفتد.
سلام و وقت بخیر
آیا امکانش هست از طریق این فایل دانلود را محدود کرد حالا یا با حجم یا با تعداد کانکشن ها و یا بازه های زمانی مختلف ؟
دو دوست عزیز و دو پست آخر ،
در همین تاپیک توضیح داده شده . لطفا به پست های قبل تر مراجعه نمایید قطعا به جوابتون میرسید
سلام
من صفحه 404.html ساختم و کد ErrorDocument 404 /404.html رو هم قرار دادم.
اما همه صفحات رو منتقل نمی کنه به 404.html
مثلا وقتی مینویسم:
http://site.ir/sdfsdfsdfsdfs.png
یا
http://site.ir/sdfs.html
یا کلا به صورتی که صفحه پسوند داشته باشه، صفحه به 404 منتقل میشه.
اما اگه به صورت:
http://site.ir/sdfsdfsdfsdfs
یا
http://site.ir/sdfs
باشه به صفحه 404 منتقل نمیشه و وارد سایت میشه و میگه صفحه وجود ندارد.
برطرف شدن این مشکل خیلی حیاتیه چون 30 هزار صفحه not found دارم توی گوگل وب مستر.
لطفا راهنمایی کنید.
دوستان یک کد httacess میخوام که باهاش فقط چند تا ip رو allow کنم و بقیه رو ban کنم ولی میخوام که اگر Ip جز ip های مجاز نبود، به جای اینکه اررور مجاز نبودن دسترسی رو بده، الکی اررور 404 بده! داریم همچین چیزی؟
سلام خدمت شما
مدت زیادیه دنبال یک کد میگردم که مطمئنم وجود خارجی داره در کدهای htacces
در واقع یک سری افراد تازه کار شروع به ریپ زدن قالب ها با نرم افزارهایی عین Httracker یا Webcopy میکنن ولی یک سری افراد حرفه ای تر اومدن با دستوراتی که درون فایل htacces [ودشون قرار دادند دسترسی به سورس index خودشون رو بستن و بلافاصله بعد از شروع برنامه ارور میده
از وجود این کد مطمئنم ولی هیچ کس اینو نمیدونست
ممنون میشم کمک کنید
باتشکر