PDA

View Full Version : حرفه ای: کار نکردن استایل صفحات بعد از UrlRewriting



profnami
پنج شنبه 27 بهمن 1390, 22: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
پنج شنبه 27 بهمن 1390, 23: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
پنج شنبه 27 بهمن 1390, 23: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, 10:44 صبح
ممنون مدیر عزیز . هم کدهای شما و هم کدهای دوست عزیزمون جواب دادن . اما به نظرم راه حل بالایی کمی قابل قبول تره . هر چند که دردسر زیادتری داره ....

MMSHFE
جمعه 28 بهمن 1390, 11:06 صبح
البته ذکر این نکته هم خالی از لطف نیست که روش تعیین ریشه برای مسیردهی سایت، مختص استفاده از htaccess. نیست و در روش معمولی هم وقتی توی یک پوشه خاصی از سایت، بخواین استایلها و... رو بکار ببرین، جوابگو هست و دیگه نمیخواد با .. و / دنبال مسیر فایلها بگردین. موفق باشید.

soroush.r70
جمعه 28 بهمن 1390, 12:00 عصر
آقایون من یه مشکل دارم وقتی ازش استفاده می کنم اصلا htaccess جواب نمی ده mode rewrite هم در فایل htt اینو # از ابتداش گرفتم ولی جواب نداد xamp هم رستارت کردم یه مدت جواب می داد الانن دیگه نمی ده ورژن xamp 1.6.8

MMSHFE
جمعه 28 بهمن 1390, 15:46 عصر
میشه بیشتر توضیح بدین؟

soroush.r70
جمعه 28 بهمن 1390, 20:40 عصر
در واقع به هیچ صورت htaccess در localhost من کار نمی کنه حتی چیزهایی که باید فعال باشه رو فعال کردم
در ضمن در مورد نحوهی آدرس دهی

<li><a href="archive.php?id='.$row["id"].'">'.$row["title"].'</a></li>
این ها برای استفاده از htaccess به چه صورت باید تغییر کنه

profnami
یک شنبه 30 بهمن 1390, 11:12 صبح
ممنون مدیر عزیز . نکته ی خوبی بود . اما در مورد شما دوست گرامی اصولا Rewrite کردن Url برای زیباتر کردن کدها و حتی برای اینکه کاربر ( البته کاربر های بد ! ) به تکنولوژی استفاده برای طراحی پی نبرن و ... به کار میره . تگ لینکی که شما گذاشتید قاعدتا باید اینجوری باشه :


<a href="archive/id/">Link</a>

میشه فایل htaccess رو که در root پروژه تون هست بزارید؟

soroush.r70
یک شنبه 30 بهمن 1390, 16:31 عصر
آقا خدمت شما ببین چی کارش می تونی بکنی