এটি কি অ্যাপাচি ২.৪..7 এ এইচটিসেস সক্ষম করার সঠিক উপায়?


46

"এইচটিএক্সেসিকে কীভাবে সক্রিয় করবেন" এর প্রায় প্রতিটি সমাধানে তারা বলে যে / ইত্যাদি / অ্যাপাচি 2 / সাইটস-উপলব্ধ / ডিফল্ট ফাইলটি সম্পাদনা করা দরকার। তবে অ্যাপাচি ২.৪..7 এ এমন ফাইল নেই

আমি কোথাও পড়েছি যে নতুন ডিফল্ট ফাইলটি 000-default.conf। সুতরাং আমি এটি সম্পাদনা করে লাইনটি যুক্ত করার চেষ্টা করেছি:

AllowOverride All

তবে অ্যাপাচি 2 সঠিকভাবে পুনরায় আরম্ভ না করে একটি ত্রুটি দিয়েছে। একটি অ্যাপাচি 2 ডকুমেন্টেশন থেকে, আমি দেখতে পেলাম যে <Directory>বিভাগের অধীনে AllowOverride কেবলমাত্র অনুমোদিত । তারপরে আমি এটি যুক্ত করার চেষ্টা করেছি:

<Directory "/var/www">
AllowOverride All
</Directory>

এবং এটি কাজ বলে মনে হচ্ছে। তবে আমি নিশ্চিত না যে আমার সেখানে / var / www রাখা উচিত ছিল কিনা। এটি কি এটি করার সঠিক উপায় বা আমার কম্পিউটারটি কোনওভাবে ফুরিয়ে যাবে?


এটা দেখ. এটি আপনাকে সাহায্য করতে পারে। stackoverflow.com/questions/33062142/...
Avnish অলক

উত্তর:


58

TL; ড

হ্যাঁ এটি সঠিক উপায়।
তবে আরও শব্দার্থক হতে : হ্যাঁ, ডিরেক্টরিতে .htaccessসমস্ত নির্দেশকে ওভাররাইড করার অনুমতি দেওয়ার এটি সঠিক উপায় /var/www


যেমন আপনি খুঁজে পেয়েছেন, AllowOverrideকেবলমাত্র Directoryবিভাগের অধীনে অনুমোদিত is

আপনার উদাহরণ ব্যবহার করে:

<Directory "/var/www">
    AllowOverride All
</Directory>

এটি অ্যাপাচি বলছে যে সমস্ত কনফিগারেশনগুলি /var/wwwএবং এর সমস্ত উপ ডিরেক্টরিতে (পুনরাবৃত্তভাবে) ওভাররাইড করা যেতে পারে ।


আরও ভাল উদাহরণের জন্য বিবেচনা করুন আপনার ভার্চুয়াল হোস্টে নিম্নলিখিত কনফিগারেশন রয়েছে:

<Directory "/var/www">
    AllowOverride All
</Directory>

<Directory "/var/www/uploads">
    AllowOverride Limit
</Directory>

এবং নিম্নলিখিত ডিরেক্টরি কাঠামো:

var/
    www/
        .htaccess
        uploads/
            .htaccess
            a/
                .htaccess
            b/
                .htaccess
        code/
            .htaccess
            c/
                .htaccess
            d/
                .htaccess

আমি এখানে যা করেছি তা হ'ল .htaccessডিরেক্টরিটির প্রতিটি উপ-ডিরেক্টরিতে একটি তৈরি করা /var/www
এটি সাধারণত এর মতো হওয়া উচিত নয়, তবে এটি কেবল উদাহরণের জন্য

ডিরেক্টরি কাঠামোটি কনফিগারেশনের সাথে তুলনা করে, এর অর্থ হ'ল ফোল্ডারের .htaccessভিতরে থাকা সমস্ত ফাইল /var/wwwএবং /var/www/uploadsডিরেক্টরিগুলি এবং এর উপ ডিরেক্টরিগুলি বাদ দিয়ে এর উপ-ডিরেক্টরিগুলি সমস্ত ধরণের নির্দেশকে ওভাররাইড করতে পারে।

কিন্তু /var/www/uploadsতার একটি উপ-ডিরেক্টরির শুধুমাত্র ব্যবহার করতে পারেন .htaccessফাইল ওভাররাইড করতে Allow, Denyএবং Orderনির্দেশনা।

নোট: Apache 2.4 এর হিসাবে (কোন 13.10+ ডিফল্টরূপে উপলব্ধ আছে) Allow, Denyএবং Orderনির্দেশনা নামে একজন একক নির্দেশ দ্বারা প্রতিস্থাপিত হয়েছে Require


39

প্রথমে এই কমান্ডটি ব্যবহার করে পুনর্লিখন সক্ষম করুন:

sudo a2enmod rewrite

তারপরে অ্যাপাচি 2 পুনরায় চালু করুন:

sudo service apache2 restart

তারপরে sites-availableফোল্ডারে যান:

/etc/apache2/sites-available

নামের ফাইলটি সম্পাদনা করুন defaultএবং এতে পরিবর্তন AllowOverride noneকরুন AllowOverride All। দুটি লাইন রয়েছে যেখানে এই পরিবর্তনটি করতে হবে।

এটি .htaccessআপনার সার্ভার ভিপিএসে কাজ করবে ।

এটি একটি উবুন্টু 12.04.5 ভিপিএসে কাজ করেছে।


3
ডিফল্ট নামে কোনও ফাইল নেই - তবে 000-default.conf নামে একটি ফাইল রয়েছে
তাহির ইয়াসিন

1
পুনঃলিখন সক্ষম করার জন্য স্মরণ করিয়ে দেওয়ার জন্য +1, আমি এটি অনুপস্থিত ছিল এবং সমস্ত জিনিস করার পরে এটি কেন কাজ করছে না তা বুঝতে পারি না।
আব্দুল মান্নান

এই মন্তব্যটি অ্যাপাচি ২.২ এর কনফিগারেশনকে বোঝায়, ২.৪ নয়। ২.৪-তে, defaultফাইলটি কল করা হয় 000-default.confএবং এতে AllowOverride Noneলাইন থাকে না ।
বেন_নুটল

ফাইলটি রয়েছে 000-default.confএবং AllowOverride Noneএখানে যোগ করা সম্ভব নয় , যদি আপনি
অ্যাপাচি

আপনার যা যা প্রয়োজন তা হ'ল মোড_উরাইটের নির্দেশিকাগুলি যাতে ওভাররাইড করার অনুমতি দেয় তবে .htaccessএটি ব্যবহার করা আরও ভাল AllowOverride FileInfo। যদিও ফাইলআইনফোতে ইতিমধ্যে একটি বিশাল সেট নির্দেশিকা অন্তর্ভুক্ত রয়েছে, আপনি এখনও প্রচুর নির্দেশকে ওভাররাইড করা থেকে বিরত রাখবেন।
ড্যান

3

আমার ক্ষেত্রে এটি কাজ
করেছিল : আমাকে নিম্নলিখিত লাইনগুলি যুক্ত করতে হয়েছিল:

Order allow, deny
Allow from all

সুতরাং এটির মতো দেখাচ্ছে:

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

যদিও এটি আপনার সমস্যার সমাধান করতে পারে তবে এটি ওপি-র প্রশ্নের সাথে সম্পর্কিত নয়। ক্রম এবং অনুমতি নির্দেশাবলী অ্যাপাচি ২.২ এবং এর আগের দিকনির্দেশনা। এগুলি নির্দিষ্ট ডিরেক্টরিতে ব্যবহারকারীদের অ্যাক্সেসের অনুমতি / অস্বীকার করতে ব্যবহৃত হয়। .Htaccess ফাইলের নির্দেশিকাগুলি বিশ্লেষণ করা হবে কিনা সে বিষয়ে তাদের কোনও প্রভাব নেই।
ড্যান

2

ডিফল্ট কনফিগারেশন পরিবর্তন না করে কিভাবে অ্যাপাচি ২.৪ এ এইচটিসেস সক্ষম করতে হবে তা এখানে একটি স্নিপেট:

cat <<EOF> /etc/apache2/conf-available/allow-override.conf
<Directory "/var/www">
    AllowOverride all
</Directory>
EOF

a2enconf allow-override
service apache2 reload
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.