PDA

View Full Version : تبدیل لینک های مطالب به عنوان پست ها



tarsiran
پنج شنبه 20 خرداد 1389, 16:02 عصر
با سلام و خسته نباشید به دوستایی که همیشه کمک حال ما بودند و تشکر میکنم از همه. رفقا می میخوام لینک های مطالب سایتم رو به شکل عنوان پست هام در بیارم مثلا اگه پست عنوانش هست: عکسهای جدید فوتبال

آدرسش به این صورت در بیاد: عکسهای-جدید-فوتبال.html

برای نشون دادن عنوان در سایتم از $file_name استفاده میکنم. قبلا هم زیاد گشتم میدونم ممکنه بگین قبلا بحث شده اما متاسفانه من دقیقا این مسئله رو نگرفتم البته میدونم اول باید یه کد پی اچ پی باشه که $file_name رو بخونه و بین کلماتش - بزار و بعد هم از طریق .htaccess این کار رو انجام داد اما متاسفانه دستوراتشو بلد نیستم خیلی ممنونتون میشم کمک کنید ضروریه مرسی

rapidpich
پنج شنبه 20 خرداد 1389, 18:32 عصر
سایتت با چی هست؟
تو کدوم قسمتش مشکل داری دقیقا؟

tarsiran
پنج شنبه 20 خرداد 1389, 19:01 عصر
سایتت با چی هست؟
تو کدوم قسمتش مشکل داری دقیقا؟
سایت با پی اچ پی نوشته شده

والا دقیقا میخوام بدونم با چه دستوراتی میتونم $file_name رو بین کلماتش - بندازم و در .htaccess با چه دستورانی میتونم تعریف کنم که عنوان پست رو بخونه سیستم سایت من به این صورت مثلا
view.php?file_id=100
که میخوام تبدیل شه به عنوان پست
مثلا
عکسهای-دیدنی-زیبا.html

yasgig
پنج شنبه 20 خرداد 1389, 22:13 عصر
با این کد می تونی عکسهای دیدنی زیبا رو به عکسهای-دیدنی-زیبا تبدیل کنی.

<?php
$file_name = "عکسهای دیدنی زیبا";
$new_file_name = str_replace(' ', '-', $file_name);
echo $new_file_name;
?>

tarsiran
پنج شنبه 20 خرداد 1389, 22:29 عصر
با این کد می تونی عکسهای دیدنی زیبا رو به عکسهای-دیدنی-زیبا تبدیل کنی.

<?php
$file_name = "عکسهای دیدنی زیبا";
$new_file_name = str_replace(' ', '-', $file_name);
echo $new_file_name;
?>
داداشی مرسی ازت بزرگواری کردی اوکی هستش اما حالا چطور میتونم .htaccess رو ادیت کنم که بتونه آدرس رو تبدیل کنه دستورات اونو میخواستم

alimooghashang
پنج شنبه 20 خرداد 1389, 23:38 عصر
داداشی مرسی ازت بزرگواری کردی اوکی هستش اما حالا چطور میتونم .htaccess رو ادیت کنم که بتونه آدرس رو تبدیل کنه دستورات اونو میخواستم


Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*).html?$ view.php?file_id=$1 [L]


که بعد دیگه file_id یه مقدار نیست
یه رشته اس مثل عکسهای-دیدنی-زیبا.html
که شما باید اینطوری بکنیش
100-عکسهای-دیدنی-زیبا.html

و بعد مقدار 100 رو از تو رشته بکشی بیرون که بتونه به همون file_id اشاره کنه!

اینم الان به ذهنم خورد شاید قشنگتر باشه



Options +FollowSymLinks
RewriteEngine on
RewriteRule ^([0-9]+)/(.*).html?$ view.php?file_id=$1 [L]


بعد آدرس فایل هات اینطوری میشه

http://yoursite.com/100/عکسهای-دیدنی-و-زیبا.html

tarsiran
جمعه 21 خرداد 1389, 00:53 صبح
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*).html?$ view.php?file_id=$1 [L]


که بعد دیگه file_id یه مقدار نیست
یه رشته اس مثل عکسهای-دیدنی-زیبا.html
که شما باید اینطوری بکنیش
100-عکسهای-دیدنی-زیبا.html

و بعد مقدار 100 رو از تو رشته بکشی بیرون که بتونه به همون file_id اشاره کنه!

اینم الان به ذهنم خورد شاید قشنگتر باشه



Options +FollowSymLinks
RewriteEngine on
RewriteRule ^([0-9]+)/(.*).html?$ view.php?file_id=$1 [L]


بعد آدرس فایل هات اینطوری میشه

http://yoursite.com/100/عکسهای-دیدنی-و-زیبا.html

سلام داداشم خیلی ممنونم با صفا .
من این کد رو که دادی در .htt گذاشتم

و واسه تست یک فایل از پست هام گذاشتم توی سایت که این فایله
www.pcparsi.com/last.php (http://www.pcparsi.com/last.php)

file_name هم با دستوری که دوستان دادن اوکی شد - میوفته بینشون

اما بازم کار نمیده تو فایل بالا میتونید ببینید... آلان توی این فایل آدرس رو به این صورت گذاشتم


<a href="<?=$new_file_name ?>.html" target="_blank" style="text-decoration:none;"><?=$file_name ?></a>

یه بزرگواری کنید کمک کنید مشکل حل شه

alimooghashang
جمعه 21 خرداد 1389, 01:08 صبح
سلام داداشم خیلی ممنونم با صفا .
من این کد رو که دادی در .htt گذاشتم

و واسه تست یک فایل از پست هام گذاشتم توی سایت که این فایله
www.pcparsi.com/last.php (http://www.pcparsi.com/last.php)

file_name هم با دستوری که دوستان دادن اوکی شد - میوفته بینشون

اما بازم کار نمیده تو فایل بالا میتونید ببینید... آلان توی این فایل آدرس رو به این صورت گذاشتم


<a href="<?=$new_file_name ?>.html" target="_blank" style="text-decoration:none;"><?=$file_name ?></a>

یه بزرگواری کنید کمک کنید مشکل حل شه
Parse error: syntax error, unexpected '}' in /home/pcparsi/public_html/last.php on line 58

tarsiran
جمعه 21 خرداد 1389, 01:23 صبح
Parse error: syntax error, unexpected '}' in /home/pcparsi/public_html/last.php on line 58
نه داداشی ارور نمیده

الان محتویات فایل last.php دقیقا به این صورته یه بزرگواری کنید یه ادیت کنید اگه لازمه که مشکل حل شه


<body topmargin='0'>
<table border='0' width='100%' align='right' cellpadding='0' cellspacing='0'>
<?
include("confi.php");

$cat_id=$_GET['category'];
if($cat_id){
$result = mysql_query("SELECT * FROM _files where file_catid='$cat_id' order by file_id desc LIMIT 0,11")or die("Query failed.line: ".__line__." file: ".__file__);
}else{
$result = mysql_query("SELECT * FROM _files order by file_id desc LIMIT 0,11")or die("Query failed.line: ".__line__." file: ".__file__);
}

$num_result= mysql_num_rows($result);
for ($i=0; $i <$num_result; $i++)
{
$row = mysql_fetch_array($result);
$file_id=$row['file_id'];
$file_name=$row['file_name'];
$file_time=$row['file_time'];
$hits=$row['hits'];
$new_file_name = str_replace(' ', '-', $file_name);
}

?>
<tr >
<?
}
mysql_free_result($result);
?>
<td align=right width='100%' DIR='RTL' height='20'>&nbsp;&nbsp;<font style="FONT-size:8pt;" color="#ff0000" ><b>»</b></font>&nbsp;<a title="<?=$hits ?> بار دیده شده" href="<?=$new_file_name ?>.html" target="_blank" style="text-decoration:none;"><font face="tahoma" style="font-size:8pt;"><?=$file_name ?></font></a></font></td>
</tr>

</table><br><br>
</body></html>

<?
mysql_close($link);
?>

alimooghashang
جمعه 21 خرداد 1389, 01:28 صبح
شما محتوی فایلی که خبر " گزارشی از افتتاحیه پرزرق و برق جام جهانی" رو نشون میده
و اینکه چطوری این خبر رو نشون میده! مثلا news.php?id=100
و محتوی فایل .htacces رو بزار

tarsiran
جمعه 21 خرداد 1389, 01:39 صبح
شما محتوی فایلی که خبر " گزارشی از افتتاحیه پرزرق و برق جام جهانی" رو نشون میده
و اینکه چطوری این خبر رو نشون میده! مثلا news.php?id=100
و محتوی فایل .htacces رو بزار
خواهش میکنم کمک کن مشکلم حل شه الان محتوای .htt اینه دقیقا:

RewriteEngine On
Options +Followsymlinks
RewriteRule ^(.*).html?$ view.php?file_id=$1 [L]

alimooghashang
جمعه 21 خرداد 1389, 02:07 صبح
دوست عزیز تنها کاری که باید بکنی اینه که فایل htacces رو تغیر بدی


این خط کار شما را راه می اندازد


RewriteRule ^(.*)-([0-9]+).html$ view.php?file_id=$2 [QSA,NC,L]

funpatogh
جمعه 21 خرداد 1389, 02:12 صبح
قاعده این کار به این صورت هست
شما عنوان مطلبت رو باید به صورت تبدیل شده توی یک فیلد کنار فیلد عنوان پست هات ذخیر کنی
مثلا
فال امروز 21 خرداد رو به شکل فال-امروز-21-خرداد توی بانک میریزی
بعد توی تگ a href عنوان لینک ها رو میکشی بیرون یک .html هم میزاری آخرش
بعد توی htaccess هم


AddDefaultCharset utf-8
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^(.*).html$ view.php?News=$1 [QSA,NC,L]

بعد چیزی که از url می گیره رو توی همون فیلد که گفتم اضافه میزاری جستجو میکنه اگه وجود داشت نمایش میده
که البته اگه شماره سطر پست هات رو هم قبل از عنوان مطالب توی url بزاری راحت تر میتونی کار کنی و به نتیجه برسی
مثلا


www.pcparsi.com/1-حداد-عادل-رییس-مجلس-شد.html

که اونوق htaccess باز کدت فرق میکنه و فقط با شماره کار داری

parselearn
چهارشنبه 03 شهریور 1389, 17:29 عصر
آيا منظور دوستان از گرفتن شماره پست يا نام پست به اين روش است:



$s=explode("/","www.pcparsi.com/1-حداد-عادل-رییس-مجلس-شد.html");
for($i=0;$i<=count($s);$i++){
echo $s[$i] . "<br>";
}
?>
چطوري آدرس صفحه جاري را بدست بياريم؟
آيا اين درخواستها تمامش به index.php ارسال ميشود؟

binyaft
چهارشنبه 03 شهریور 1389, 20:52 عصر
آيا منظور دوستان از گرفتن شماره پست يا نام پست به اين روش است:



$s=explode("/","www.pcparsi.com/1-حداد-عادل-رییس-مجلس-شد.html");
for($i=0;$i<=count($s);$i++){
echo $s[$i] . "<br>";
}
?>
چطوري آدرس صفحه جاري را بدست بياريم؟
آيا اين درخواستها تمامش به index.php ارسال ميشود؟

فکر نکنم اینطوری بشه
مثلا شما یه پست دارید با ادرس localhost/?p=1 خوب حالا اونو با mod_rewrite به شکل زیر در بیارید



localhost/1/post-title

parselearn
پنج شنبه 04 شهریور 1389, 01:36 صبح
فکر نکنم اینطوری بشه
مثلا شما یه پست دارید با ادرس localhost/?p=1 خوب حالا اونو با mod_rewrite به شکل زیر در بیارید



localhost/1/post-title

با توجه به گفته شما تمام اين مسائل مربوط به mod_rewrite ميشود

آيا htaccess فقط در روت قرار ميگيرد؟
آيا ميشود در يك ساب دايركتوري يا ساب دومين اين امكان رو قرار داد؟

bestirani2
پنج شنبه 04 شهریور 1389, 02:02 صبح
با توجه به گفته شما تمام اين مسائل مربوط به mod_rewrite ميشود

آيا htaccess فقط در روت قرار ميگيرد؟
آيا ميشود در يك ساب دايركتوري يا ساب دومين اين امكان رو قرار داد؟
هر جایی میتوانی قرار بدیش