در جواب به دوستان قبلی
اگر در سرورهاشون Options +SymLinksIfOwnerMatch جواب نداد می تونن این کد رو جایگزین کنن :
Options +FollowSymlinks
Printable View
در جواب به دوستان قبلی
اگر در سرورهاشون Options +SymLinksIfOwnerMatch جواب نداد می تونن این کد رو جایگزین کنن :
Options +FollowSymlinks
آقا هر دو تاشون رو امتحان کردم ( Options +FollowSymlinks و قبلی) ولی باز همون پیغام رو می ده. شاید اگه سرورم رو عوض کنم جواب بده اگه لینکی از سرور دیگه ای سراغ دارین بگید (با اینکه من سر کلاس با همین easy php کار می کنم و اگه جواب نده و بچه ها سر کلاس بپرسند -احتمالش کمه- اونوقت کمی گیر می کنم)
منتظر جوابهای سبز شما هستم
برای جلوگیری ازدسترسی به فایلهای محرمانه درپوشه private چگونه از کد htaccess استفاده کنم کنم؟
بعنوان مثال آدرس وب سایت این
http://www.majid1.net باشد تمامی فایلهای ویرایش و حذف و ارسال و.......در این پوشه private میباشد حالا اگر آدرس بدین صورت بنویسم http://www.majid1.net/private/delete.php صفحه حذف مطالب نشان داده میشود برای جلوگیری ازمشاهده این فایلها با دادن همچنین آدرسی چکار باید کرد؟
با سلام خدمت تمامی دوستان
در آموزش صفحه اول همه چیز توضیح داده شده ولی بعضی از بچه ها همچنان سوال می پرسند و گفتم یکبار اینجا توضیح بدم
دخب اول باید با توابع مد ریرایت آشنایی داشته باشید که در اینجا من به فایل htaccess می گم آقا اگر index.php?page=2 چنین آدرسی بود شما بیا و به این تبدیلش کن News/2نقل قول:
وستان ببخشید اینو چند بار امتحان کردم جواب نگرفتم
اینو چطوری { http://localhost/article/index.php?page=2 }
ایجنوری کنم { http://localhost/article/News/2 }
همیشه باید فایل htaccess در پوشه مورد نظر ایجاد بشه . مثلا در این مثال دوستمون ، فایل htaccess در پوشه article ایجاد می شه و داخلش دستورات رو می نویسیم :
RewriteRule ^News/([^/]*)/([^/]*)/?$ index.php?page=$1 [QSA,NC,L]
حالا موقع لینک دادن در php دیگه نمی نویسیم : a href="index.php?page='.$row[id].' iiiiiiiiii
باید ینویسید : http://localhost/article/News/.'$row["id}].' / '.record.' news
* وقتی دارید از htaccess استفاده می کنید حتما باید کل لینک ها و آدرس دهی ها به صورت کامل باشه در غیر این صورت عمل نخواهد کرد
* اگر در لوکال هاست دارید تست می کنید باید توابع مد ریرایت رو فعال کنید . پست شماره دوم همین تاپیک
* فایل htaccess در پوشه مورد نظر فایل ها ذخیره شود
* حتی می تونید به صورت فارسی هم آدرس دهی کنید ولی نباید از کاراکتر خالی استفاده کنید یعنی Space (به کل خطا می گیره)
اینم کد کامل برای پاسخ به این دوست عزیزمون :
AddDefaultCharset utf-8
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^News/([^/]*)/([^/]*)/?$ index.php?page=$1 [QSA,NC,L]
برای اینکه نام یک فایل هم تغییر بدید به این صورت می تونید عمل کنید :
RewriteRule ^Ali/علیرضا/Reza$ news.php [QSA,NC,L]
آدرس news.php می شه www.abc.com/Ali/علیرضا/Reza
این ادیتور نمیذاره واسه شما درست نمایش داده بشه . در کل علیرضا وسط قرار می گیره
امیدوارم بدردتون خورده باشه.
موفق باشید
اقا ممنون اینی که شما میگی رو انجام دادم شد اما یک سوال !!!؟؟؟
یه سایتی بخواد تایتل مطالبش اون بالا چاپ شه باید چی کار کنه !!! همورو دونه دونه باید اینجا بسازی این که نمیشه !!!
منظورم اینه نمی تونه هی بیاد تایتل اصلی شو اینجا تو .htaccses بهزنه که مثلا اگه روزی 10تا مطلب جدید بزاره چجوری باید اینارو درست کنه !!
manzoram ine ke age
page_download.php?id=122 in bashe va titelesh bashe
بازی اکشن
va page_download.php?id=123
فیلم خوب
va gheyre
in id ta 10000 yerozi shayad bere :D
نمیتونم که این و دستی آپدیت کنم آخه
سلام، ممنون خودم پیدا کردم D:
در اینجا می خواهیم به این صورت عمل کنیم
http://www.abc.com/index.php?page=articlesتبدیل بشه به : (یعنی آدرسی که به صورت گت به صفحه مربوطه ارسال کردید رو حذف می کنه و فقط مقدارش رو نمایش میده) :
باید داخل فایل اچ تی اکسس این کد رو قرار بدیم :
RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)/$ index.php?page=$1
Common variable sets
- [A-Z] The variable can have uppercase letters
- [a-z] The variable can have lowercase letters
- [0-9] The variable can have numbers
- ([a-zA-Z0-9]+) The variable can have any of the above, and has no limit to the number of characters.
ترفند خوبیه
موفق باشید
سلام
درخواست کمک داشتم
میخوام مثل این آدرس
http://alef.ir/vdciupazrt1a5z2.cbct.html?143102
به آدرس :
http://mydomiain.com/vdciupazrt1a5z2.cbct.html?143102
تبدیل بشه
تو htaccess چی باید بزنم؟
باید اینو بزنی و ادامش رو با پی اچ پی بهش اضافه کنی . حالا با توابع هم می شه که توی پست بعدی بهتون یاد می دم
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^alef\.ir
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=permanent,L]
یا اگر بالایی جواب نداد این :
RewriteEngine on
RewriteCond %{HTTP_HOST} ^alef.ir [NC]
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [L,R=301]
این روش برای اضافه کردن www. در مبحث سئو هم ارزش خواص خودش رو داره
این هم همون کد بالاست ولی یه کم از امنیت بالاتری برخورداره که می تونی به جاش استفاده کنی :
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.alef\.ir [NC]
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [L,R=301]
موفق باشید
دیدم این تاپیک خوابیده گفتم یک آموزش کلی و کد در اختیار برنامه نویسان عزیز بذارم . خیلی کم دیده می شن که از اچ تی اکسس استفاده می کنن که در اشتباه هستند و منم تلاش می کنم تا بلکه چند نفری بهبود پیدا کنند .
خب بریم روی آموزش :
چنین آدرس هایی داریم که می خواییم نام دامنشون رو عوض کنیم
http://domain.com/cgi-bin/38837728.cgi
یـــــــــــــــــا
http://www.domain.com/cgi-bin/38837728.cgi
که می خواییم آدرس دامین تبدیل بشه به :
http://reza.net/cgi-bin/abc/38837728.cgi
میاییم از این کد استفاده می کنیم :
RewriteEngine on
RewriteCond %{SERVER_NAME} www.domain.com|domain.com
RewriteRule ^/?cgi-bin/38837728.cgi http://reza.net/cgi-bin/abc/38837728.cgi [R=301,L]
================================================== =====================================
در اینجا می تونید آدرس هایی که پسوند آنها php میباشد رو به html تبدیل کنید :
RewriteRule ^(.*)\.php$ /$1.html [R=301,L]
و برعکس
RewriteRule ^(.*)\.html$ $1.php [R=301,L]
================================================== =====================================
در اینجا شرط میذاریم و می گیم اگر ساعت 16 شد که همون 4 بعداز ظهر میشه سایت رو deny all access کن یا ساده تر بگم مسدود کردن دسترسی در ساعت خاصی از روز
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{TIME_HOUR} ^16$
RewriteRule ^.*$ - [F,L]
================================================== =====================================
در اینجا می گیم در آدرس ها هر جا _ underscores یا همون آندرلاین داره رو به خاطر منفی خوردنش در سئو بیا و به - دش تبدیل کن
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule !\.(html|php)$ - [S=4]
RewriteRule ^([^_]*)_([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4-$5 [E=uscor:Yes]
RewriteRule ^([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4 [E=uscor:Yes]
RewriteRule ^([^_]*)_([^_]*)_(.*)$ $1-$2-$3 [E=uscor:Yes]
RewriteRule ^([^_]*)_(.*)$ $1-$2 [E=uscor:Yes]
RewriteCond %{ENV:uscor} ^Yes$
RewriteRule (.*) http://abc.com/$1 [R=301,L]
================================================== =====================================
یک دستور امنیتی :
جلوگیر از اجرا شدن کدها توسط مرورگر زمانی که یک درخواست با X-moz ارسال می شه
Stop browser prefetching
RewriteEngine On
SetEnvIfNoCase X-Forwarded-For .+ proxy=yes
SetEnvIfNoCase X-moz prefetch no_access=yes
# block pre-fetch requests with X-moz headers
RewriteCond %{ENV:no_access} yes
RewriteRule .* - [F,L]
================================================== =====================================
جلوگیری از سرقت فایل های تصویری وب سایت و سرقت پهنای باند شما
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?abc.com/.*$ [NC]
RewriteRule \.(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]
================================================== =====================================
مانع از دسترسی کاربر به فایل های داخل پوشه .
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^.+$ [NC]
RewriteRule .* - [F,L]
================================================== =====================================
مانع از دسترسی کاربر به زیر پوشه ها
Deny access to anything in a subfolder
.
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+)/.*\ HTTP [NC]
RewriteRule .* - [F,L]
================================================== =====================================
اینم یک کد بسیار ساده و کارآمد
درخواست های داخلی سایت اگر تا حد 10 درخواست رسید یک پیام نمایش بده و جلوگیری کنه
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]
اینم توضیح خارجیش چون شاید یه کم بد توضیح داده باشم:
An error message related to this isRequest exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.or you may seeRequest exceeded the limit,probable configuration error,Use 'LogLevel debug' to get a backtrace, orUse 'LimitInternalRecursion' to increase the limit if necessary
================================================== =====================================
اینم چند تا کد امنیتی در برابر درخواست های مخرب کاربر
برای محافظت از درخواست های مخرب و دیگر رفتار استثماری بررسی می شود.
RewriteEngine On
RewriteCond %{THE_REQUEST} ^.*(\\r|\\n|%0A|%0D).* [NC]
RewriteRule ^(.*)$ - [F,L]
================================================== =====================================
یک چیز خیلی جالب که بهش برخوردیم و توضیح می دم.
در موتور جستجو گر گوگل ، Crauler ها کاربرانی که از سایت هایی به سایت شما میان ، آدرس هاشون ذخیره می شه و خیلی هم روی امتیاز دادن مثبت تاثیر داره و اگر آدرس های ذخیره شده از کلماتی که ناشایست بوده و از نظر طراحان امتیاز منفی می خوره استفاده شود باید از چنین کلماتی جلوگیری کنیم و آدرس های آنها رو قبل از ورود به سایت فیلتر کنیم تا از منفی خوردن در سئو جلوگیری شه .
همه جا از امنیت HTTP_REFERER بد گفتن از تابع RewriteCond میاییم و امنیتش رو برقرار می کنیم:
بعد کلماتی که مایلید فیلتر شود رو تعریف می کنیم
poker drugs پوکر - مواد مخدر و ........
و در آخر عملیات رو اعمال می کنیم
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^(.*)(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*(-|.)?adult(-|.).*$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*(-|.)?poker(-|.).*$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*(-|.)?drugs(-|.).*$ [NC]
RewriteRule ^(.*)$ - [F,L]
================================================== =====================================
جلوگیری از سرقت کوکی :
RewriteEngine On
RewriteCond %{HTTP_COOKIE} ^.*(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC]
RewriteRule ^(.*)$ - [F,L]
جلوگیری از درخواست های مخرب :
RewriteEngine On
RewriteCond %{REQUEST_URI} ^.*(,|;|:|<|>|">|"<|/|\\\.\.\\).* [NC,OR]
RewriteCond %{REQUEST_URI} ^.*(\=|\@|\[|\]|\^|\`|\{|\}|\~).* [NC,OR]
RewriteCond %{REQUEST_URI} ^.*(\'|%0A|%0D|%27|%3C|%3E|%00).* [NC]
RewriteRule ^(.*)$ - [F,L]
محافظت از سرورتون در برابر پرس و جو ها :
RewriteEngine On
RewriteCond %{QUERY_STRING} ^.*(localhost|loopback|127\.0\.0\.1).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(\.|\*|;|<|>|'|"|\)|%0A|%0D|%22|%27|%3C|%3E|%00 ).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(md5|benchmark|union|select|insert|cast|set|dec lare|drop|update).* [NC]
RewriteRule ^(.*)$ - [F,L]
اینم بن کردن آی پی در رنج خاص :
RewriteEngine On
RewriteCond %{REMOTE_ADDR} ^123\.$ [OR]
RewriteCond %{REMOTE_ADDR} ^456\.789\.$ [OR]
RewriteCond %{REMOTE_ADDR} ^789\.123\.456\.$ [OR]
home page کردن آدرس وب سایت خودتون :
RewriteCond %{HTTP_USER_AGENT} ^Mozilla.*
RewriteRule ^/$ /homepage.max.html [L]
RewriteCond %{HTTP_USER_AGENT} ^Lynx.*
RewriteRule ^/$ /homepage.min.html [L]
RewriteRule ^/$ /homepage.std.html [L]
RewriteRule ^(.*)$ - [F,L]
لطفا از سوالات پیش و پا افتاده پرهیز کنید چون در اوایل پست ها آموزش لازم داده شده .
و در آخر شرمنده اگر غلط املایی یا از کلمات درستی استفاده نکردیم . قصدمون فقط آموزش دادن و کمک به برنامه نویسان عزیز بود .
امیدوارم مثبت واقع شده باشد.
موفق باشید
شادزی
ببخشید که یه سوال مبتدی میکنم
htaccess
روی لوکال کار نمیکنه؟
باید حتما روی هاست آپلود بشه ؟
modwrite
هم فعال کردم
با xampp هستم عزیز
ولی انگار هیچیش عمل نمیکنه
فایل htaccess رو گذاشتم کنار فایل php
درسته دیگه؟
دادا نام فایل باید htaccess. باشه.شاید نقطه یادت رفته؟؟؟؟؟
بله عزیز درسته
الان این ارور رو میده :
Server error!
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there was an error in a CGI script.
If you think this is a server error, please contact the webmaster.
Error 500
localhost
2/12/2012 12:14:06 PM
Apache/2.2.17 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8o PHP/5.3.4 mod_perl/2.0.4 Perl/v5.10.1
این فایل htaccess را ضمیمه کردم
خب عزیز من شما در لوکال هاست هستید و آدرس پیشفرض رو دادید www.domain.ir خب معلومه که ارور می گیره.
شما اول روی هاست تست بگیر چون مربوط به دامنه می شه اگر جواب گرفتید بیایید توی لوکال و از آدرس لوکال http://localhost/ یا آدرس آی پی لوکال http://127.0.0.1/ استفاده کنید . چون خودم روی لوکال هاست تست نگرفتم.
بعد به این مسیر هم برو باید همش ACTIVATED سبز رنگ باشه . در این صورت شما با لوکال هاست مشکل ندارید : http://localhost/xampp/ منوی سمت چپ گزینه Status
من اینا همه رو توضیح دادم فقط باید کمی دقت کنید و از پست دادن پرهیز کنید.
بعد کد نویسی شما هم اشتباهه . به این صورت باید بنویسید : توی پست شماره 60 همین تاپیک توضیح دادم
AddDefaultCharset utf-8
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.default\.ir [NC]
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [L,R=301]
موفق باشید
دوست عزیز الان درست کار کرد
ولی این کد مگه واسه جایگزینی اسمه دامین فقط نیست؟
این ردایرکت میکنه به آدرس mydomain
من منظورم اینه که فقط اسمه لینکایی که میاد رو عوض کنه نه اینکه ردایرکت کنه
من الان روی هاست تست کردم جواب داده . ولی روی لوکال هاست نشد روی لوکال ریدایرکت شده . باید دید مشکل از کجاست
ببخشید حل شد
درود
دوستان من یه پوشه دارم که چندتای فایل توشه که در فواصل زمانی نامشخص در طول روز توسط cron jabs اجرا میشن و یه سری کارارو انجام میدن.
الان میخواستم بدونم چطوری با htaccess دسترسی اون پوشه رو محدود کنم که اگه آدرس اون فایلها رو زدن اجرا نشن و یا خطای چیزی بده؟ ( توجه کنید که باید توسط cron jabs اجرا بشن )
در این کد دسترسی پوشه ها رو از کاربر می گیریم :
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.*)$ deny.php [nc]
تو قسمت بالا اگه کاربر بخواد به هر نحوی وارد یه پوشه بشه ریدایرکت میشه به deny.phpدر مثال بعدی کاری کنیم که فقط به فایل های خاصی دسترسی داشته باشه و بجز اون هر فایلی خواست باز کنه ارور بده :
Options +FollowSymlinks
RewriteEngine On
rewritecond %{REQUEST_FILENAME} !^(.+).css$
rewritecond %{REQUEST_FILENAME} !^(.+).js$
rewritecond %{REQUEST_FILENAME} !file.php$
RewriteRule ^(.+)$ /deny/ [nc]
تو دستور بالا ما گفتیم فقط به فایل هایCss Js و فایل file.php اجازه بده که توسط کاربر فراخوانی بشه در غیر اینصورت ریدایرکت کنش به پوشه /deny/ .
جدا از اینا پست شماره 61 ما که توی صفحه 7 ایجاد شده هم یه نگاه بنداز چون یک روش دیگه هم توضیح دادم.
موفق باشید
مثل همیشه عالی بود - ممنون
این مثال دوم نمیشه عکسش رو گذاشت؟
! علامت معکوسه . حذفش کنی میشه همین چیزی که شما می خواهید.
درخواستی از دوستان :ی
با این کد می تونید مقدار حجم آپلود فایل و اطلاعات ارسالی در سایت که با php نوشته شده را به مقدار 25 مگابایت افزایش دهید و یا بیشتر :
(کد روزه : برای php5 به بالا)
<Directory />
Options +FollowSymLinks
AllowOverride All
</Directory>
<IfModule mod_php5.c>
php_value max_execution_time "60"
php_value max_input_time "60"
php_value upload_max_filesize "25M"
php_value post_max_size "25M"
</IfModule>
البته روش های زیادی برای این کار وجود داره که این به روش اچ تی اکسسه.
این کد ها هم هر کدوم یک کاری انجام میده(مثلا در ارتباط با استفاده سیشن و کوکی و ...) :
php_value post_max_size 200M
php_value upload_max_filesize 200M
php_value memory_limit 300M
php_value output_buffering on
php_value max_execution_time 259200
php_value max_input_time 259200
php_value session.cookie_lifetime 0
php_value session.gc_maxlifetime 259200
php_value default_socket_timeout 259200
و و و ...
موفق باشید
سلام دوستان یکی میتونه به من کمک کنه؟ من از سرور ویندوز استفاده می کنم به زور تونستم htaccess رو به web.config تبدیل کنم ، اما الان وقتی ؟ رو به / تبدیل می کنم فایل های جاوا اسکریپت و سی اس اس رو نمی خونه
درود
باید آدرس دهی فایلهای رو از حالت نسبی به مطلق تبدیل کنید.
یعنی به جای اینکه اینطور آدرس بدید
<link rel="stylesheet" type="text/css" href="css/style.css"/>
باید اینجوری آدرس بدید
<link rel="stylesheet" type="text/css" href="http://www.mysite.com/css/page/site.css"/>
البته میتونید از تگ base در بخش head استفاده کنید و آدرس دهی هارو تغییر ندید. فقط کافیه آدرس وب سایت خود رو به تگ base بدید.
مثل این
<base href="http://www.mysite.com/"/>
آقا این کد من کار نمیکنه مشکلش چیه؟
RewriteEngine on
RewriteRule ^profile/userid/([0-9]+) www.tehranartgallery.com/profile.php?userid=$1 [NC]
باید به این صورت بنویسید :
اگر محتویات گت شما String بود :
RewriteRule ^profile/userid/([^/]*)$ profile.php?userid=$1 [L]
آدرس دهی شما می شه : www.abc.com/profile/userid/Reza/
اگر محتویات گت شما int یا یعنی فقط عدد بود :
RewriteRule ^profile/userid/([^/]*)/([^/]*)/?$ profile.php?userid=$1 [QSA,NC,L]
آدرس دهی شما می شه : www.abc.com/profile/userid/1/
موفق باشید
ممنون از راهنماییتون ولی خودتون این لینکو چک کنید ببینید باز جواب نمیده
http://www.tehranartgallery.com/profile.php?userid=80
http://www.tehranartgallery.com/profile/userid/80/
دوست عزیز شما به چه صورتی لینک میدید ؟
باید به این شکل لینک بدید
چون عددیه باید از این کد ریرایت استفاده کنیم :
RewriteRule ^profile/userid/([^/]*)/([^/]*)/?$ profile.php?userid=$1 [QSA,NC,L]
و این آدرس دهی :
href="www.abc.com/profile/userid/'.$row["id"].'/
یادتون باشه در انتها / بذارید.
من تست کردم مشکلی نداشت
عجب...
خب فایلتون رو که دارید تست می کنید ضمیمه کنید تا براتون درست کنیم
از پست های spam خودداری نمایید
باتشکر
سلام دوستان
من توی سایتم کلی جاوا استفاده کردم.
بعضی هاش رو توی فایل های js ذخیره کردم و توی صفحه فراخوانی میکنم
جدیدا متوجه شدم که بعضی سایت های همکار اومدن دقیقا همون کدهای js من رو از توی فایل ها کپی پیست کردن دارن استفاده می کنن.
آیا از طریق htaccess میشه دسترسی مستقیم به فایل های js رو محدود کرد به نحویکه سورس اون ها قابل نمایش نباشه ولی بتونه عملیات مربوطه رو در صفحه اجرا کنه ؟؟؟
دوستان کد زیر که نوشتم به لینکی که میخوام ریدایرکت میکنه ولی ریرایت نمیشه.مشکل چیه چجوری باید بنویسم
RewriteEngine on
RewriteRule ^tag/sec/(.*)$ ../../../tag.php?sec=$1 [R]
من می خوام هر درخواستی که با test شروع نمی شه به ریرایت مد برن ولی اینطور نمی شه. مشکل چسه؟
RewriteCond %{QUERY_STRING} !^test/
RewriteRule ^([^\/]+)/([^\/]+)$ index.php?c1=$1&c2=$2 [NC,L]
با سلام
من میخوام این آدرس رو http://localhost/mvc/index.php?rt=blog/view اینم لینکم هست
به این تغییر بدمکد HTML:<a href="http://localhost/mvc/index.php?rt=blog/view">blog</a>
localhost/mvc/blog/view
همه تاپیک ها که به این موضوع مربوط میشود رو هم امتحان کردم اما نشد لامصب:متعجب:
مدریرایت هم فعال این فایلضمیمه 90225
با تشکر
سلام
آقا یکی یه نگاه بندازه:افسرده:
اینم خطایی که آپاچی میده
127.0.0.1 - - [26/Jul/2012:10:11:42 +0430] "GET /mvc/index.php?rt=blog/view HTTP/1.1" 200 67
تشکر
نحوه شرط گذاری شما اشتباهه . باید دقیق و کامل بنویسید . خشک و خالی با نوشتن test جواب نمیگیرید .نقل قول:
من می خوام هر درخواستی که با test شروع نمی شه به ریرایت مد برن ولی اینطور نمی شه. مشکل چسه؟
1
2
3
RewriteCond %{QUERY_STRING} !^test/
RewriteRule ^([^\/]+)/([^\/]+)$ index.php?c1=$1&c2=$2 [NC,L]
فایل اچ تی اکسس باید داخل فولدر mvc ایجاد کنید و چنین کدی رو بنویسید :نقل قول:
با سلام
من میخوام این آدرس رو http://localhost/mvc/index.php?rt=blog/view اینم لینکم هست
کد HTML:
<a href="http://localhost/mvc/index.php?rt=blog/view">blog</a>
به این تغییر بدم
localhost/mvc/blog/view
همه تاپیک ها که به این موضوع مربوط میشود رو هم امتحان کردم اما نشد لامصب:متعجب:
مدریرایت هم فعال این فایلhtaccess.zip
با تشکر
RewriteRule ^([^/]*)$ index.php?rt=$1 [L]
یا
RewriteRule ^([^/]*)/([^/]*)/?$ index.php?rt=$1 [QSA,NC,L]
موقع فراخوانی هم میگید
echo'<a href="www.abc.com/mvc/'.$row["blog"].'/'.$row["view"].'"> abc </a>';
یک موقع هایی آدرس بعضی از صفحاتتون تغییر می کنه با این کد می تونید ریدایرکت کنید به آدرس جدید :
RewriteRule ^old_page.php$ http://new_domain.com/new_page.php [R=301,NC]
====================
چنین آدرسی داریم :
http://mydomain.com/blog.php?categor...h=05&year=2008
که می خواهیم تبدیل بشه به :
http://mydomain.com/news/05/2008
RewriteRule ^blog/([^/]+)/([^/]+)$ blog.php?category=$1&article_id=$2 [NC]
================
یک آدرس گت داریم که نمی خواهیم نمایش داده بشه و بعد از تصحیح پسوند هم به html تبدیل کنیم چنین آدرسی داریم :
www.abc.com/reza.php?get=test
که می خواهیم تبدیل بشه به :
www.abc.com/test.html
RewriteRule ^([^/]*)\.html$ reza.php?get=$1 [L]
در این سایت از اینگونه مد ریرایت ها استفاده شده که می تونید ببینید : http://www.amolboresh.com/%D8%AF%D9%...%A9%D9%86.html
تا مطالب بعدی
موفق و پیروز باشید
ولی بهینه تر و رایج تر اینه که با php بگی هر جا کاراکتر خالی بود به جاش یک آندرلاین بذارید : (دش یا - در سئو منسوخ شده)
اگر دو تا آدرس گت داشتیRewriteRule ^([A-Za-z-\s]+)/([A-Za-z-\s]+)$ /index.php?lastname=$1&name=$2 [QSA,L]
اگر یکی آدرس گت داشتی
RewriteRule ^([A-Za-z-\s]+)$ /html/index.php?lastname=$1 [QSA,L]
str_replace("_"," ",$row["test"])
شما باید با php این کار رو انجام بدید . چون با دستورات ریرایت یک آدرس جدید درست میشه یعنی شما با دو آدرس به صفحه خودتون لینک میشید .
سلام
من ریرایت رو انجام دادم درست کار میکنه و صفحه ای که می خوام رو میاره
فقط مشکل اینجاست که css صفحه لود نمیشه و فقط متن اوون صفحه میاد.
راهنمایی کنید مشکل کجاست
ممنون
جایی که css رو لینک کردین آدرس دهی کامل انجام بدین یا از تگ <base> استفاده کنید.
درود
من مطالب رو خوندم ولی به سوالی که توی ذهنم بود جوابی داده نشد.
توی صفحه اول گوگل یک لوگویی هست که لینکش اینه :
https://www.google.com/images/srpr/logo3w.png
خوب حالا گوگل یه کاری کرده که شما فقط میتونی این لوگو رو ببینی یعنی دیگه نمیتونیم فایل ها و یا عکس هایی که توی این پوشه قرار داره رو ببینیم تا وقتی که آدرس دقیق اون عکس رو بدونیم . حال اگه به پوشه های دیگه برید میبینید که Error 404 میده یعنی شبیه این صفحه :
https://www.google.com/images/srpr
حال چطوری میشه همچین کاری رو روی سایت خودم انجام بدم
ممنون میشم
من اینارو هوندم میشه اینم توضیح بدین چیکا میکنه؟
RewriteBase /cloob/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?%{QUERY_STRING} [NE,L]
این !-d یا !-f و این
QUERY_STRING
چیکار میکنه تو اون دستور
سلام
متاسفانه نتونستم از مطالب ارزشمندتون در مورد زیر اسفاده کنم
اگر توجه کنید در وبلاگها میشه یک ادرس شخصی رو مثل www.test.com
به وبلاگت وصل کنی مثل ادرس http://sana-net.ir/blogs.php?id=149
به صورتی که با زدن آدرس شخصی به صفحه وبلاگت می روی و حتی آدرس وب لاگ هم نشون داده نمیشه
اگر ممکن است در مورد این کار کمی راهنمایی کنید و اینکه این کار فقط با httascc میشه انجام بشه و در طرف دامنه باید چه کارهایی انجام دهیم (تنظیم دی ان اس و ...)
سلام می شه یه کد برای استفاده از subdomain که همه جا( از جمله لوکال هاست) کار کنه بدید؟
مثلا test.example.com بشه example.com/?sub=test
تشکر.