উবুন্টুতে অ্যাপাচে কীভাবে .htaccess ব্যবহার সক্ষম করবেন?


15

আমি এর ব্যবহার নিশ্চিত করার চেষ্টা করছি htaccess উবুন্টু 14.04 (এ্যাপাচি 2.4.7) এ ফাইল। আমি জানি যে এই প্রশ্নের অনেকগুলি সম্ভাব্য সদৃশ রয়েছে, তবে তাদের কেউই এখনও আমাকে সহায়তা করেনি।

.htaccess

ErrorDocument 404 /404.html

000-default.conf

<VirtualHost *:80>
AccessFileName .htaccess

ServerAdmin webmaster@localhost
DocumentRoot /var/www

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

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

আর কি দরকার?


1
AllowOverride All ডিরেক্টরিটি .htaccess ফাইলে সমস্ত বিকল্পের অনুমতি দেয়। 000-default.conf ধরে নেয় যে আপনার সার্ভারে কেবল একটি সাইট আছে। .Htaccess ফাইলটি কি আপনার জন্য কাজ করছে না? এই সার্ভারে কি একাধিক সাইট হোস্ট করা আছে?
ক্লোজটনোক

/ Var / www এ অনেকগুলি ফোল্ডার রয়েছে তবে কোনও ভার্চুয়াল হোস্ট তৈরি হয় না। / ইত্যাদি / অ্যাপাচি 2 / সাইটগুলি উপলভ্য / ফোল্ডারে দুটি ফাইল রয়েছে, 000-default.conf এবং ডিফল্ট- ssl.conf। htaccess ফাইলটি / var / www /
ডেভিড জিপ

হতে পারে 'ডকুমেন্টআরট / ভার / www /'? (পিছনে স্ল্যাশ)
কোভেল

নিশ্চিত করতে চেক করুন / ইত্যাদি / অ্যাপাচি 2 / সাইটগুলি সক্ষম / এতে 000-default.conf এর লিঙ্ক রয়েছে। আপনি যদি /var/www/index.html ফাইল পরিবর্তন করেন আপনি কোনও ওয়েব ব্রাউজার দিয়ে সার্ভারটি দেখলে পরিবর্তনগুলি দেখতে পাবেন, তাই না?
স্টিফেন অসটারমিলার

উত্তর:


26

প্রথম ধাপ

হিসাবে ফাইল খুলুন

sudo vim /etc/apache2/apache2.conf

দ্বিতীয় ধাপ

আপনি যদি এই লাইনের আগে এটি দেখতে পান তবে মন্তব্য চিহ্ন (#) সরিয়ে ফেলুন (লাইন সংখ্যা 187 প্রায়)

AccessFileName .htaccess

তৃতীয় পদক্ষেপ

তারপরে কোথায় রয়েছে রেখাটি সন্ধান করুন

<Directory /var/www/>
     Options Indexes FollowSymLinks
     AllowOverride None
     Require all granted
</Directory>

"সমস্ত" দিয়ে "কিছুই নয়" প্রতিস্থাপন করুন

AllowOverride All

এবং voila ... .htaccessকাজ !!


3
পরিবর্তনগুলি কার্যকর হয়নি যতক্ষণ না আমি অ্যাপাচি কমান্ডটি পুনরায় শুরু করি: পরিষেবা অ্যাপাচি পুনঃসূচনা
তাহির ইয়াসিন

1
@ তাহিরয়াসিন যেমন উল্লেখ করেছেন, অ্যাপাচি পুনরায় চালু করার পরামর্শ দিয়েছি। sudo service apache2 restart
www139


1

আমার ক্ষেত্রে পরিবর্তন AllowOverride Noneকরতে AllowOverride Allমধ্যে /etc/apache2/sites-enabled/000-default.conf সাহায্য করেছিল।

অন্যান্য সমস্ত .conf ফাইল ইতিমধ্যে ছিল AllowOverride All


0
  1. ইন /etc/apache2/apache2.conf অপসারণ মন্তব্য চিহ্ন ( #) থেকেAccessFileName .htaccess
  2. আপনার অ্যাপাচি কনফিগারেশন ফাইলের নামটি আদর্শ নয়। আপনি এটা নাম পরিবর্তন করতে পারেন default.conf উইন্ডোজে এবং এটি নামান্তর করতে ডিফল্ট লিনাক্স হবে। লিনাক্স ভিত্তিক ওএসে টার্মিনালে এই কোডটি চালান:

    sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/default
    

এটি শূন্যগুলির সাথে নামকরণ করা হয়েছে যাতে এটি বর্ণমালায় প্রথম আসে। আপনার যদি একটি ডিফল্ট.কনফ ফাইল থাকে এবং তারপরে anteater.com এর জন্য একটি সাইট তৈরি করে, তবে অ্যান্টিয়েটার ডিফল্ট হোস্ট হয়ে যায় কারণ এটি প্রথমে লোড হয়। এই জাতীয় সমস্যা রোধ করতে 000 রাখুন। .Htaccess কাজ করে কি না তা নিয়ে কনফিড ফাইলটির নামের সাথে কিছু করা উচিত নয়।
স্টিফেন Ostermiller

1
'অ্যাক্সেসফিলনেম .htaccess' ইতিমধ্যে নিরবিচ্ছিন্ন। উপরের উত্তর আমাকে সাহায্য করেছে। ধন্যবাদ।
ডেভিড জিপ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.