PDA

View Full Version : سوال: خلاصه کردن url



mosi2007
یک شنبه 27 فروردین 1391, 22:49 عصر
سلام دوستان
مثلا تو سایت یه ادرس داریم که برای امنیت صفحه نمیخاهیم که این ادرسو کسی ببینه
مثلا
http://www.example.com/index.php/html/view/reg

برای اینکه یه ادرسی مثل اون یه مقداربگیره مثل این باید چکاری انجام بدیم

http://www.example.com/index.php/ac2frt
حالا اون اسمی که میاد بعد index.php زیاد مهم نیست
دوستان اگه را حلی برای اینکار است راهنمایی بفرمایند؟

در ضمن سرچ هم کردم

MMSHFE
یک شنبه 27 فروردین 1391, 23:25 عصر
میتونید برای هر صفحه یک اسم خلاصه توی دیتابیس ذخیره کنید و عباراتی که بعد از index.php میاد رو با rewrite بعنوان پارامتر با روش GET براش بفرستین و محتوای صفحه اصلی متناظر با اون صفحه رو از دیتابیس بخونید و نمایش بدین.

mosi2007
دوشنبه 28 فروردین 1391, 00:01 صبح
متاسفانه من از htaccess چیزی نمیدنم اگه میشه کدشو برام بدید ممنونتون میشم

farhadfery
دوشنبه 28 فروردین 1391, 00:17 صبح
این چیزی که استاد می فرمایند می گند: slug

mosi2007
دوشنبه 28 فروردین 1391, 10:46 صبح
من رفتم بعضی از سایتهای خارجی رو هم گشتم ولی نتونستم چیزی پیدا کنم بعضی از سایتها هم گفته بودن که تو htaccess اینو بنویسم
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
که هیج جوابی هم از این کار نگرفتم
طبق گفته استاد من یه تیبل تو دیتا بیسم ساختم به اسم url سه تا فیلد id url ranme براش تعریف کردم که مثلا تو اولی این اطلاعاتو وارد کردم

http://www.example.com/index.php/html/view/reg

و تو فیلد rename هم

http://www.example.com/index.php/ac2frt

خب حالا نمیدونم که باید چیکار کنم
خواهشا کمک کنید دوستان محترم

MMSHFE
دوشنبه 28 فروردین 1391, 12:20 عصر
فرض کنید توی دیتابیس همون فیلدهای id و url و rename که خودتون ساختین رو داریم ولی اطلاعات رو اینطوری وارد کنید:
برای url باید مسیر کامل فایل رو بنویسید، مثلاً html/view/reg.php/ و برای rename فقط اون کلمه ای که جلوی index.php میاد مثل ac2frt
حالا توی htaccess. این کد رو بگذارین:


RewriteEngine On
RewriteRule ^(.*)$ index.php?rename=$1

حالا توی index.php این کد رو بنویسید:


mysql_connect('localhost', 'root', '') or die('Connection error');
mysql_select_db('dbname') or die('Database error');
$url = '';
if(isset($_GET['rename'])) {
$page = mysql_query("SELECT * FROM `pages` WHERE (`rename`='{$_GET['rename']}')");
if($page && mysql_num_rows($page) > 0) {
$page = mysql_fetch_assoc($page);
$url = $page['url'];
}
}
echo $url != '' ? file_get_contents($url) : 'Page Not found';

امیدوارم خوب توضیح داده باشم.
موفق باشید.

mosi2007
دوشنبه 28 فروردین 1391, 15:31 عصر
شما خیلی خوب توضیح دادین ولی من نتونستم هیچ کاری انجام بدم اینو نگاه کنید یه چند تا فایل کوچیکه که همون کد های خودتونو نوشتم ولی نتونستم باهاش کاری انجام بدم
در ضمن اطلاعات دیتا بیس تو پوشه txt هست
ممنون میشم اینو برام ردیف کنید و اصلاحش کنید کارم بد جوری گیره85840

MMSHFE
دوشنبه 28 فروردین 1391, 15:56 عصر
انجام شد. موفق باشید.

mosi2007
دوشنبه 28 فروردین 1391, 18:23 عصر
نمیشه این فایل htaccess رو یجور تنظیم کنم که به بقیه فایلها و فولدر ها ی بجز index.php کاری نداشته باشه فولدرهای که با index.php تویه زیر مجموعه هستن ؟؟؟؟؟؟؟
اگه نشه که کارم بهم میریزه و خیلی بد میشه

mosi2007
دوشنبه 28 فروردین 1391, 19:47 عصر
کلا استفاده از این روش مرسومه یا نه
چون وقتی با
file_get_contents($url)
اون صفحه رو میاری تو این صفحه همه چیز بهم میخوره دیگه چه روشهایی برای اینکه ادرس url تغییر بدیم وجود داره؟؟؟؟

AbiriAmir
دوشنبه 28 فروردین 1391, 20:20 عصر
درستش اون روشه نه file_get_contents
همه جا از همون روش استفاده میشه

mosi2007
دوشنبه 28 فروردین 1391, 20:50 عصر
درستش اون روشه نه file_get_contents
همه جا از همون روش استفاده میشه
کدوم روش ؟ تو اینجا که من فقط یه روشو یاد گرفتم اونم استفاده از file_get_contents اگه روشه دیگه ای دارید لطفا بمن بگید خیلی کارم گیره

AbiriAmir
دوشنبه 28 فروردین 1391, 21:32 عصر
همون htaccess دیگه

mosi2007
دوشنبه 28 فروردین 1391, 23:24 عصر
تقریبا مشکلم حل شد ولی بازم به یه مشکل کوچیک خوردم
مثلا تو htaccess دارم


RewriteEngine On
RewriteRule ^R/?$ http://localhost/css/upload/html/register.php [NC,L]


که کاربر وقتی رو لینک کلیک کرد شکل url بشه اینجوری
http://localhost/css/upload/R/
ولی تو همون صفحه دوباره وقتی روی همون لینک ثبت نام کلیک کرد
url اینجوری میشه

http://localhost/css/upload/R/R/چیکارکنم که وقتی دوبار کاربر روی یه لینک کلیک کرد این اتفاق نیفته؟؟؟؟؟؟؟