View Full Version : کار نکردن URL Rewrite در فولدر
navid3d_69
چهارشنبه 12 تیر 1392, 15:49 عصر
سلام من سایت رو روی local اجرا می کنم وقتی که توی روت localhost هست درست کار می کنه ولی وقتی که توی یک folder می ریزم دیگه URL Rewrite ها کار نمی کنه مثلا اگر locahost/test باشه کار نمی کنه یک نمونش اینه
RewriteRule ^Notice/([^/]*)$ /notice.php?notice_id=$1 [L,NC]
RewriteRule ^Notice/Page/([^/]*)$ /notice.php?Page=$1 [L,NC]
RewriteRule ^Notice notice.php [L,NC]
MMSHFE
پنج شنبه 13 تیر 1392, 10:40 صبح
این دو خط رو ابتدای htaccess. اضافه کنید:
Options +FollowSymlinks
RewriteBase /your_folder
navid3d_69
پنج شنبه 13 تیر 1392, 12:09 عصر
این کارم کردم ولی بازم هنوز درست نشده
colors
پنج شنبه 13 تیر 1392, 12:43 عصر
اینو انجام بده ببین میشه
<Directory>
Options +FollowSymLinks
RewriteEngine on
</Directory>
ظمنا مطمئنم که فایل htaccess روهم پوشه موردنظرت کپی میکنی!
MMSHFE
پنج شنبه 13 تیر 1392, 12:45 عصر
Options +FollowSymlinks
RewriteEngine On
RewriteBase /your_folder
RewriteRule ^Notice/([^/]*)$ /notice.php?notice_id=$1 [L,NC]
RewriteRule ^Notice/Page/([^/]*)$ /notice.php?Page=$1 [L,NC]
RewriteRule ^Notice notice.php [L,NC]
navid3d_69
پنج شنبه 13 تیر 1392, 12:52 عصر
Options +FollowSymlinks
RewriteEngine On
RewriteBase /your_folder
RewriteRule ^Notice/([^/]*)$ /notice.php?notice_id=$1 [L,NC]
RewriteRule ^Notice/Page/([^/]*)$ /notice.php?Page=$1 [L,NC]
RewriteRule ^Notice notice.php [L,NC]
بازم کار نمی کنه عجیبه فکر می کنم قبلا درست بود بعد wamp رو دوباره نصب کردم این مشکل پیش اومد روی سرور هم چک می کنم شاید درست بشه
MMSHFE
پنج شنبه 13 تیر 1392, 12:58 عصر
میگم چک کنید ببینید mod_rewrite اصلاً فعال هست یا نه؟!
navid3d_69
پنج شنبه 13 تیر 1392, 13:12 عصر
بله فعال هست همین کد توی root لوکال کار می کنه ولی توی folder کار نمی کنه
MMSHFE
پنج شنبه 13 تیر 1392, 13:18 عصر
اگه ممکنه، کد کامل htaccess. رو بگذارین و همچنین بگین برنامه شما دقیقاً توی چه مسیری هست.
navid3d_69
پنج شنبه 13 تیر 1392, 13:28 عصر
مسیر سایت locahost/NewYork
php_flag output_buffering on
RewriteEngine On
Options -Indexes +FollowSymLinks -Multiviews
RewriteBase /NewYork
RewriteRule ^index.html index.php
RewriteRule ^About About_us.php
RewriteRule ^Contact Contact_us.php
RewriteRule ^Abuse Abuse.php
RewriteRule ^Bank Bank.php
RewriteRule ^Receipt Fish_Sabt.php
RewriteRule ^Faq Faq.php
RewriteRule ^Ticket Ticket.php
######################### Notice #############################
RewriteRule /Notice/([^/]*)$ /notice.php?notice_id=$1 [L]
RewriteRule ^/Notice/Page/([^/]*)$ /notice.php?Page=$1 [L]
RewriteRule ^/Notice notice.php
######################### Page #############################
RewriteRule ^Page/([^/]*)/([^/]*)$ /Page.php?Page_id=$1&Name=$2 [L]
RewriteRule ^Page Page.php
######################### Country #############################
RewriteRule ^Country/Page/([^/]*)$ /Country.php?Page=$1 [L]
RewriteRule ^Country/([^/]*)/([^/]*)$ /Country.php?id=$1&Name=$2 [L]
RewriteRule ^Country Country.php
######################### City #############################
RewriteRule ^City/Page/([^/]*)$ /City.php?Page=$1 [L]
RewriteRule ^City/([^/]*)/([^/]*)$ /City.php?id=$1&Name=$2 [L]
RewriteRule ^City City.php
######################### Tour #############################
RewriteRule ^Tour/Page/([^/]*)$ /Tour.php?Page=$1 [L]
RewriteRule ^Tour/([^/]*)/([^/]*)$ /Tour.php?id=$1&Name=$2 [L]
RewriteRule ^Tour Tour.php
######################### User #############################
RewriteRule ^User/Add User_Add.php
RewriteRule ^User/Login User_Login.php
RewriteRule ^User/Dashboard User_Dashboard.php
RewriteRule ^User/LogOut Log_Out.php
RewriteRule ^User/ChangePassword User_Change_Password.php
######################### Hotel #############################
RewriteRule ^Hotel/Page/([^/]*)$ /Hotel.php?Page=$1 [L]
RewriteRule ^Hotel/([^/]*)/([^/]*)$ /Hotel.php?id=$1&Name=$2 [L]
RewriteRule ^Hotel Hotel.php
######################### Product #############################
RewriteRule ^Product/([^/]*)/([^/]*)$ /Product.php?Type=$1&id=$2 [L]
RewriteRule ^GetInfo/([^/]*)/([^/]*)$ /GetInfo.php?Type=$1&id=$2 [L]
######################### Order #############################
RewriteRule ^Order/([^/]*)/([^/]*)$ /Order.php?Type=$1&id=$2 [L]
######################### Invoice #############################
RewriteRule ^Invoice/([^/]*)$ /Invoice.php?Type=$1 [L]
RewriteRule ^Follow/([^/]*)$ /Follow.php?id=$1 [L]
MMSHFE
پنج شنبه 13 تیر 1392, 13:43 عصر
اینو تست کنید:
php_flag output_buffering on
RewriteEngine On
Options +FollowSymLinks -Indexes -Multiviews
RewriteBase /NewYork
RewriteRule ^index.html$ index.php [L,NC,QSA]
RewriteRule ^About$ About_us.php [L,NC,QSA]
RewriteRule ^Contact$ Contact_us.php [L,NC,QSA]
RewriteRule ^Abuse$ Abuse.php [L,NC,QSA]
RewriteRule ^Bank$ Bank.php [L,NC,QSA]
RewriteRule ^Receipt$ Fish_Sabt.php [L,NC,QSA]
RewriteRule ^Faq$ Faq.php [L,NC,QSA]
RewriteRule ^Ticket$ Ticket.php [L,NC,QSA]
RewriteRule ^([^/]*)$ $1.php [L,NC,QSA]
RewriteRule ^User/LogOut Log_Out.php [L,NC,QSA]
RewriteRule ^User/ChangePassword User_Change_Password.php [L,NC,QSA]
RewriteRule ^User/([^/]*)$ User_$1.php [L,NC,QSA]
RewriteRule ^Page/([^/]*)/([^/]*)$ /Page.php?Page_id=$1&Name=$2 [L,NC,QSA]
RewriteRule ^(Product|GetInfo|Order)/([^/]*)/([^/]*)$ /$1.php?Type=$2&id=$3 [L,NC,QSA]
RewriteRule ^Invoice/([^/]*)$ /Invoice.php?Type=$1 [L,NC,QSA]
RewriteRule ^Follow/([^/]*)$ /Follow.php?id=$1 [L,NC,QSA]
RewriteRule /([^/]*)/Page/([^/]*)$ /$1.php?Page=$2 [L,NC,QSA]
RewriteRule /([^/]*)/([^/]*)/([^/]*)$ /$1.php?id=$2&Name=$3 [L,NC,QSA]
البته سعی کردم خلاصه کنم، اگه کار نکرد، همون کد خودتون رو بگذارین ولی به ترتیب Options دقت کنید. اگه باز هم کار نکرد، Options رو جداگانه و زیر هم بنویسید. مسیر فیزیکی ذخیره شدن فایل روی سیستمتون رو هم بگذارین.
navid3d_69
پنج شنبه 13 تیر 1392, 14:01 عصر
بازم کار نکردن همه حالت هایی که گفتین رو چک کردم این کد که خودتون گذاشتین که ارور 500 می داد بقیه حالت های options ها هم مثلا قبل بود مهم نیست حالا دستی چک می کنم چون در کل قرار نیست توی folder توی هاست باشه
engmmrj
پنج شنبه 13 تیر 1392, 14:01 عصر
این خطل چیکار میکنه ؟
RewriteBase /NewYork
MMSHFE
پنج شنبه 13 تیر 1392, 14:12 عصر
میگه وقتی میگیم index.php/ منظورمون index.php هست که توی پوشه NewYork/ قرار گرفته. بطور کلی مسیر ریشه سایت رو مشخص میکنه که اگه مستقیماً توی localhost باشه، نیازی نیست بنویسیم ولی اگه توی یک پوشه باشه، باید ذکر بشه.
abolfazl-z
پنج شنبه 13 تیر 1392, 23:07 عصر
از این کد زیر استفاده کنید :
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1
navid3d_69
جمعه 14 تیر 1392, 00:06 صبح
شما کد من رو دیدین؟ این کدی که شما گذاشتین برای من کارایی نداره
abolfazl-z
جمعه 14 تیر 1392, 00:29 صبح
شما کد من رو دیدین؟ این کدی که شما گذاشتین برای من کارایی نداره
من از htaccess سر در نمیارم گفتم شاید بدردتون بخوره :قلب:
رضا قربانی
شنبه 15 تیر 1392, 13:32 عصر
منظورتون اینه که فایل اچ تی اکسس رو توی یک فولدر دیگه از ریشه سایت قرار میدید ؟
همیشه می خواهی آزمون و خطا بگیری ، به نوبت دونه دونه کدها رو تست کن ببین روی کدوم کد خطا می خوری و هم ما و هم خودتون متوجه میشید . و الکی هم شلوغش نکن و حجم فایل رو بالا نبر .
به هر حال اینو تست بگیر :
AddDefaultCharset utf-8
Options +SymLinksIfOwnerMatch
RewriteEngine On
RewriteBase /NewYork
RewriteRule ^index.html index.php
RewriteRule ^About About_us.php
RewriteRule ^Contact Contact_us.php
RewriteRule ^Abuse Abuse.php
RewriteRule ^Bank Bank.php
RewriteRule ^Receipt Fish_Sabt.php
RewriteRule ^Faq Faq.php
RewriteRule ^Ticket Ticket.php
RewriteRule /Notice/([^/]*)$ /notice.php?notice_id=$1 [L]
RewriteRule ^/Notice/Page/([^/]*)$ /notice.php?Page=$1 [L]
RewriteRule ^/Notice notice.php
RewriteRule ^Page/([^/]*)/([^/]*)$ /Page.php?Page_id=$1&Name=$2 [L]
RewriteRule ^Page Page.php
RewriteRule ^Country/Page/([^/]*)$ /Country.php?Page=$1 [L]
RewriteRule ^Country/([^/]*)/([^/]*)$ /Country.php?id=$1&Name=$2 [L]
RewriteRule ^Country Country.php
RewriteRule ^City/Page/([^/]*)$ /City.php?Page=$1 [L]
RewriteRule ^City/([^/]*)/([^/]*)$ /City.php?id=$1&Name=$2 [L]
RewriteRule ^City City.php
RewriteRule ^Tour/Page/([^/]*)$ /Tour.php?Page=$1 [L]
RewriteRule ^Tour/([^/]*)/([^/]*)$ /Tour.php?id=$1&Name=$2 [L]
RewriteRule ^Tour Tour.php
RewriteRule ^User/Add User_Add.php
RewriteRule ^User/Login User_Login.php
RewriteRule ^User/Dashboard User_Dashboard.php
RewriteRule ^User/LogOut Log_Out.php
RewriteRule ^User/ChangePassword User_Change_Password.php
RewriteRule ^Hotel/Page/([^/]*)$ /Hotel.php?Page=$1 [L]
RewriteRule ^Hotel/([^/]*)/([^/]*)$ /Hotel.php?id=$1&Name=$2 [L]
RewriteRule ^Hotel Hotel.php
RewriteRule ^Product/([^/]*)/([^/]*)$ /Product.php?Type=$1&id=$2 [L]
RewriteRule ^GetInfo/([^/]*)/([^/]*)$ /GetInfo.php?Type=$1&id=$2 [L]
RewriteRule ^Order/([^/]*)/([^/]*)$ /Order.php?Type=$1&id=$2 [L]
RewriteRule ^Invoice/([^/]*)$ /Invoice.php?Type=$1 [L]
RewriteRule ^Follow/([^/]*)$ /Follow.php?id=$1 [L]
navid3d_69
شنبه 15 تیر 1392, 15:07 عصر
کار نکرد ببنید من توی لوکال یک پوشه دارم به اسم NewYork و یک سیستم توی اون پوشه نصب هست فایل .htaccess هم توی همون پوشه هست
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.