PDA

View Full Version : کار نکردن URL Rewrite در فولدر



navid3d_69
چهارشنبه 12 تیر 1392, 14: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, 09:40 صبح
این دو خط رو ابتدای htaccess. اضافه کنید:


Options +FollowSymlinks
RewriteBase /your_folder

navid3d_69
پنج شنبه 13 تیر 1392, 11:09 صبح
این کارم کردم ولی بازم هنوز درست نشده

colors
پنج شنبه 13 تیر 1392, 11:43 صبح
اینو انجام بده ببین میشه

<Directory>
Options +FollowSymLinks
RewriteEngine on
</Directory>
ظمنا مطمئنم که فایل htaccess روهم پوشه موردنظرت کپی میکنی!

MMSHFE
پنج شنبه 13 تیر 1392, 11: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, 11: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, 11:58 صبح
میگم چک کنید ببینید mod_rewrite اصلاً فعال هست یا نه؟!

navid3d_69
پنج شنبه 13 تیر 1392, 12:12 عصر
بله فعال هست همین کد توی root لوکال کار می کنه ولی توی folder کار نمی کنه

MMSHFE
پنج شنبه 13 تیر 1392, 12:18 عصر
اگه ممکنه، کد کامل htaccess. رو بگذارین و همچنین بگین برنامه شما دقیقاً توی چه مسیری هست.

navid3d_69
پنج شنبه 13 تیر 1392, 12: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, 12: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, 13:01 عصر
بازم کار نکردن همه حالت هایی که گفتین رو چک کردم این کد که خودتون گذاشتین که ارور 500 می داد بقیه حالت های options ها هم مثلا قبل بود مهم نیست حالا دستی چک می کنم چون در کل قرار نیست توی folder توی هاست باشه

engmmrj
پنج شنبه 13 تیر 1392, 13:01 عصر
این خطل چیکار میکنه ؟
RewriteBase /NewYork

MMSHFE
پنج شنبه 13 تیر 1392, 13:12 عصر
میگه وقتی میگیم index.php/ منظورمون index.php هست که توی پوشه NewYork/ قرار گرفته. بطور کلی مسیر ریشه سایت رو مشخص میکنه که اگه مستقیماً توی localhost باشه، نیازی نیست بنویسیم ولی اگه توی یک پوشه باشه، باید ذکر بشه.

abolfazl-z
پنج شنبه 13 تیر 1392, 22:07 عصر
از این کد زیر استفاده کنید :


Options +FollowSymLinks
RewriteEngine On

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^(.*)$ index.php?url=$1

navid3d_69
پنج شنبه 13 تیر 1392, 23:06 عصر
شما کد من رو دیدین؟ این کدی که شما گذاشتین برای من کارایی نداره

abolfazl-z
پنج شنبه 13 تیر 1392, 23:29 عصر
شما کد من رو دیدین؟ این کدی که شما گذاشتین برای من کارایی نداره

من از htaccess سر در نمیارم گفتم شاید بدردتون بخوره :قلب:

رضا قربانی
شنبه 15 تیر 1392, 12: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, 14:07 عصر
کار نکرد ببنید من توی لوکال یک پوشه دارم به اسم NewYork و یک سیستم توی اون پوشه نصب هست فایل .htaccess هم توی همون پوشه هست