View Full Version : حرفه ای: کار نکردن استایل صفحات بعد از UrlRewriting
profnami
پنج شنبه 27 بهمن 1390, 23:48 عصر
با سلام خدمت دوستان . من با کدهایی که تو فایل htaccess نوشتم میتونم بوسیله URL صفحه ی مورد نظرم رو Generate کنم اما ظاهر و استایل صفحات و همچنین فایل های جاوا اسکریپت کار نمیکنن . خیلی هم جستجو کردم ظاهرا مسیر فایل های مورد نظر هم همراهشون بازنویسی میشه . کسی از دوستان واسه حل این مشکل ایده خاصی نداره ؟
ممنون
این هم فایل htaccess :
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?(index.(html|php|java|jsp|asp))?$ Controller.php
RewriteRule ^(.*) Controller.php?URL=$1 [QSA]
Syamah
جمعه 28 بهمن 1390, 00:15 صبح
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !(.*)\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz )$
RewriteRule ^(.*) Controller.php
RewriteRule ^(.*)/(css|js|img|etc)/(.*) $2/$3
MMSHFE
جمعه 28 بهمن 1390, 00:25 صبح
دوست عزیز، بهتره توی صفحه ایندکس سایتتون، کد زیر رو بنویسید:
define('URL', 'http://mysite.com');
define ('ROOT', dirname(__FILE__));
البته اگه فایل index.php شما داخل یک پوشه از سایت هست و در پوشه اصلی نیست (مثل برخی MVCها که اون رو توی پوشه public میگذارن)، کد زیر رو بکار ببرین:
define('URL', 'http://mysite.com');
define ('ROOT', dirname(dirname(__FILE__)));
البته توی هر دو کد بالا، بجای mysite.com آدرس سایت خودتون رو بگذارین. حالا توی کدهای include و require و... که قرار نیست کاربر ببینه، اینطوری کار کنید:
require_once ROOT.'/include/config.php';
و توی کدهایی که کاربر میبینه مثل آدرس کدهای جاوا اسکریپت و تصاویر و... اینطوری کار کنید:
<script src="<?php echo URL; ?>/scripts/jqmin.js" type="text/javascript"></script>
<!-- or -->
<img src="<?php echo URL; ?>/images/header.png"/>
امیدوارم مشکلتون رفع بشه.
موفق باشید.
profnami
جمعه 28 بهمن 1390, 11:44 صبح
ممنون مدیر عزیز . هم کدهای شما و هم کدهای دوست عزیزمون جواب دادن . اما به نظرم راه حل بالایی کمی قابل قبول تره . هر چند که دردسر زیادتری داره ....
MMSHFE
جمعه 28 بهمن 1390, 12:06 عصر
البته ذکر این نکته هم خالی از لطف نیست که روش تعیین ریشه برای مسیردهی سایت، مختص استفاده از htaccess. نیست و در روش معمولی هم وقتی توی یک پوشه خاصی از سایت، بخواین استایلها و... رو بکار ببرین، جوابگو هست و دیگه نمیخواد با .. و / دنبال مسیر فایلها بگردین. موفق باشید.
soroush.r70
جمعه 28 بهمن 1390, 13:00 عصر
آقایون من یه مشکل دارم وقتی ازش استفاده می کنم اصلا htaccess جواب نمی ده mode rewrite هم در فایل htt اینو # از ابتداش گرفتم ولی جواب نداد xamp هم رستارت کردم یه مدت جواب می داد الانن دیگه نمی ده ورژن xamp 1.6.8
MMSHFE
جمعه 28 بهمن 1390, 16:46 عصر
میشه بیشتر توضیح بدین؟
soroush.r70
جمعه 28 بهمن 1390, 21:40 عصر
در واقع به هیچ صورت htaccess در localhost من کار نمی کنه حتی چیزهایی که باید فعال باشه رو فعال کردم
در ضمن در مورد نحوهی آدرس دهی
<li><a href="archive.php?id='.$row["id"].'">'.$row["title"].'</a></li>
این ها برای استفاده از htaccess به چه صورت باید تغییر کنه
profnami
یک شنبه 30 بهمن 1390, 12:12 عصر
ممنون مدیر عزیز . نکته ی خوبی بود . اما در مورد شما دوست گرامی اصولا Rewrite کردن Url برای زیباتر کردن کدها و حتی برای اینکه کاربر ( البته کاربر های بد ! ) به تکنولوژی استفاده برای طراحی پی نبرن و ... به کار میره . تگ لینکی که شما گذاشتید قاعدتا باید اینجوری باشه :
<a href="archive/id/">Link</a>
میشه فایل htaccess رو که در root پروژه تون هست بزارید؟
soroush.r70
یک شنبه 30 بهمن 1390, 17:31 عصر
آقا خدمت شما ببین چی کارش می تونی بکنی
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.