অ্যাপাচি ফাইল সমঝোতা ব্যর্থ হয়েছে


23

আমি অ্যাপাচি ২.২.২২ + পিএইচপি 5.4.0 ব্যবহার করে একটি হোস্টে নিম্নলিখিত সমস্যাটি নিয়েছি

/home/server1/htdocs/admin/contents.phpকোনও ব্যবহারকারী যখন অনুরোধ করেন তখন আমাকে ফাইল সরবরাহ করতে হবে : http://server1/admin/contentsতবে আমি এই বার্তাটি সার্ভারের ত্রুটি-লগতে পেয়েছি।

Negotiation: discovered file(s) matching request: /home/server1/htdocs/admin/contents (None could be negotiated)

লক্ষ্য করুন যে আমি mod_negotiationসম্পর্কিত ভার্চুয়ালহোস্টের বিকল্পগুলির মধ্যে সক্ষম এবং মাল্টিভিউগুলি সক্ষম করেছি:

<Directory "/home/server1/htdocs">
    Options Indexes Includes FollowSymLinks MultiViews
    Order allow,deny
    Allow from all
    AllowOverride All
</Directory>

mod_rewriteনিম্নলিখিত .htaccessবিধিগুলি সহ আমিও ব্যবহার করি :

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^\./]*)$ index.php?t=$1 [L]
</IfModule>

এটি খুব অদ্ভুত বলে মনে হচ্ছে, তবে পিএইচপি 5.3.6 সহ একই বাক্সে এটি সঠিকভাবে কাজ করত। আমি কেবল পিএইচপি 5.4.0 এ আপগ্রেড করার চেষ্টা করছি, তবে আমি এই আলোচনার সমস্যাটি সমাধান করতে পারি না। contents.phpজিজ্ঞাসা করার সময় কেন আপাচি মেলে না পারে সে সম্পর্কে কোনও ধারণা content(যা মোড_নেগোটেশন করার কথা বলা উচিত)?

আপডেট: আমি লক্ষ্য করেছি যে মোড_নিগোটিয়েশন .php এর চেয়ে আলাদা এক্সটেনশানযুক্ত ফাইলগুলির সাথে সঠিকভাবে আচরণ করে: সুতরাং আমার যদি /admin/contents.txt নামের একটি ফাইল থাকে তবে আমি এডমিন / বিষয়বস্তু ইউআরএল দিয়ে ব্রাউজারের সাথে নিয়মিত এটি অ্যাক্সেস করতে পারি। সুতরাং সমস্যাটি কেবল পিএইচপি ফাইলের জন্য। আলোচনার ব্যর্থতা কী হতে পারে তার কোনও সূত্র?


আপনি মোড_নিগোটেশন কীভাবে কনফিগার করবেন? আপনি এটি ব্যবহার করছেন?
মিরেসিয়া ভুটকোভিচি

ঠিক আছে, আমি কেবল httpd.conf এ mod_negotiation অন্তর্ভুক্ত করছি, তারপরে ভার্চুয়ালহস্টে মাল্টিভিউ বিকল্পগুলি আমি যা খুজছি তা করার জন্য যথেষ্ট হওয়া উচিত, যতদূর আমি জানি .. তাই না?
lorenzo.marcon

3
এফডাব্লুআইডাব্লু, +MultiViewsসক্ষম করার সাথে আমার এই সমস্যা ছিল এবং এটি অক্ষম করার পরে এটি গায়েব হয়ে যায়।
ফেলিক্স ফ্রাঙ্ক

উত্তর:


39

আমি সমাধান খুঁজে পেয়েছি। সত্যিই খুব সহজ। আমি নিম্নলিখিতগুলি অন্তর্ভুক্ত করতে ভুলে গেছি:

AddType application/x-httpd-php .php

অ্যাপাচি Mod_mime বিভাগে httpd.conf এ

পিএইচপি স্ক্রিপ্টগুলি সঠিকভাবে কাজ করছে বলে আমি বিভ্রান্ত হয়েছিলাম; তবে আলোচনার ব্যর্থতা হচ্ছিল কারণ মোড_নিগোটিয়েশন কেবল "আকর্ষণীয়" (এবং পরিচিত) ফাইলের সন্ধান করে।


3
এই! এই ঠিক এখানে! আমি কেন খুব অস্বাস্থ্যকর "আবিষ্কারকৃত ফাইল (গুলি) / কিছুই নেগোশিয়েটেড" ত্রুটি পাচ্ছিলাম না কেন বেশিরভাগ রাত কাটিয়েছি down স্ক্রিপ্টগুলি আগে ভাল কাজ করে যাচ্ছিল, এবং আমি পরীক্ষার সময় যে ডিস্ট্রিবিউশনটি করছি তাতে মোড_মাইমে টাইপটি অন্তর্ভুক্ত করা হচ্ছে না তা সত্যতা অনুসন্ধানে আমার এক সময় শয়তান ছিল। আমি আপনাকে একটি বিয়ার স্যার ণী।
আকোই মেক্সেক্স

আমি মার্কিন যুক্তরাষ্ট্রে আসার সময় আমি আনন্দের সাথে আপনার
বিয়ারটি

এটি পুরোপুরি কাজ করে !! প্রশ্ন এবং উত্তরের জন্য @ lorenzo.marcon ধন্যবাদ!
rogcg

এটি অবশ্যই এক পর্যায়ে পরিবর্তিত হয়েছে। আমি বেশ আত্মবিশ্বাসী বোধ করছি পিএইচপি মাল্টিভিউগুলি কাজ করার জন্য আমার এটির আগে যোগ করার দরকার নেই।
ব্যবহারকারী 1338062

ধন্যবাদ একটি মেট্রিক টন! আমি প্রাচীরের বিরুদ্ধে মাথা ঘুরাচ্ছিলাম, ভাবছিলাম কেন আমার মোড অনুসন্ধান /? From থেকে অনুসন্ধানে পুনরায় লেখবে? অনুসন্ধান.পিএফপি কাজ করছে না। মনে হচ্ছে নেগোটিয়েশন মডিউলটির পুনর্লিখনের মডিউলটির চেয়ে বেশি প্রাধান্য রয়েছে যা সাধারণত জানা ভাল।
zıəs uɐɟəʇs

12

ডেবিয়ান স্কুইজ থেকে হুইজিতে আপডেট করার পরেও আমার একই সমস্যা ছিল। mods-enabled/mime.confসিস্টেম থেকে পরিচিত ধরনের ফাইল রয়েছে:

TypesConfig /etc/mime.types

সমস্যাটি ছিল /etc/mime.typesফাইলটি আপডেট দ্বারা প্রতিস্থাপন করা হয়েছিল এবং প্রতিস্থাপিত ফাইলটিতে পিএইচপি অংশটি মন্তব্য করা হয়েছিল। এটি অনুসন্ধান করার সময়, আমি খুঁজে পেয়েছি:

#application/x-httpd-php                        phtml pht php
#application/x-httpd-php-source                 phps
#application/x-httpd-php3                       php3
#application/x-httpd-php3-preprocessed          php3p
#application/x-httpd-php4                       php4
#application/x-httpd-php5                       php5

আমাকে #পিএইচপি-প্রাসঙ্গিক স্টাফযুক্ত প্রতিটি লাইন থেকে অপসারণ করতে হবে , তারপরে অ্যাপাচি ওয়েব সার্ভারটি সংরক্ষণ এবং পুনরায় চালু করতে হবে। এটি mime.confফাইলটি পরিবর্তন না করেই সমস্যার সমাধান করেছে ।


এটি একটি ভূতের বিরুদ্ধে অবসন্ন ডিবাগিংয়ের 4 ঘন্টা পরে আমাকে বাঁচায়।
মার্কসকেফ

সচেতন হন যে এটি করার ফলে নাম (যেমন ) libapache-mod-php5দিয়ে ফাইলগুলি কার্যকর হতে পারে যা তাদের মন্তব্য করার মূল যুক্তি ছিল। বাগ.ডেবিয়ান.org.phpfilename.php.jpeg
589384

0

.phpকোনও মিডিয়া টাইপের সাথে ম্যাপিংয়ের পরিবর্তে (যা সুরক্ষার সাথে জড়িত থাকতে পারে, যেমন দেবিয়ান বাগ 589384 তে বর্ণিত রয়েছে ), আপনি অনুরূপ প্রশ্নের উত্তর আমেরিকির উত্তরে প্রস্তাবিত হিসাবে MultiviewsMatchকোনও ধরণের ফাইল ছাড়াই কনফিগার করতে পারেন :.php

<Files "*.php">
    MultiviewsMatch Any
</Files>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.