সিংহের উপর ~ / সাইটগুলিতে .htaccess ফাইলগুলি ব্যবহার করে ইউআরএল পুনর্লিখন (মোড_উইরাইট) সক্ষম করুন


13

সিংহটিতে কাজ করার জন্য আমি মোড_উইরাইট পেতে পারি না। আমি .htaccess ফাইল ব্যবহার করে ~ / সাইটগুলিতে স্থানীয়ভাবে বেশ কয়েকটি ওয়েবসাইট বিকাশ করছি। আমি ১০.7.৩ এ আছি এবং আমি পিডিএফপি httpd.conf সক্ষম করার ব্যতীত কোনও কনফিগারেশন ফাইল স্পর্শ করি নি (যা কাজ করে)।

আমি জানি এখানে এ সম্পর্কে কমপক্ষে 2 টি প্রশ্ন রয়েছে তবে সেখানে বর্ণিত সমাধানগুলি কার্যকর হয় না। বা ওয়েবে আমি যে অন্যান্য সমাধান খুঁজে পেয়েছি তাও না। আমি অবশ্যই বোকা কিছু করব বা কিছু উপেক্ষা করব, অন্যথায় আমি সম্ভবত পাগল হয়ে যাচ্ছি, তবে এটি কাজ করছে না।

আমি সব স্বাভাবিক জিনিস চেষ্টা করেছি:

  1. ইন /private/etc/apache2/users/<myusername>.conf, ওয়েব সার্ভারে পরিবর্তন AllowOverride Noneকরুন AllowOverride Allএবং পুনরায় চালু করুন

  2. অতিরিক্ত হিসাবে, এর যে /private/etc/apache2/httpd.confকোনও / সমস্ত উপস্থিতি (গুলি) - এর AllowOverride Noneজন্য AllowOverride Allআমি চেষ্টা করেছি যে সমস্ত বিভিন্ন জায়গায় এই নির্দেশাবলী পাওয়া যায়

  3. মূল্যের সাথে Optionsনীচে / নীচের রেখার জন্য মূলত সমস্ত সম্ভাব্য সংমিশ্রণ চেষ্টা করুন AllowOverride:Indexes MultiViews FollowSymLinks All

অবশ্যই এই জাতীয় পরিবর্তনের পরে ওয়েব সার্ভারটি পুনরায় চালু করা। এর কোনওটিই কাজ করে না। আমার সমস্ত ক্লিন ইউআরএলগুলি কেবল কাজ করে না; আমি একটি 404 পেয়েছি - পাওয়া যায় নি। অ্যাপাচি এর ত্রুটি লগ আমাকে কেবল "ফাইলের অস্তিত্ব নেই:" ত্রুটিগুলি দেয়। সুতরাং দেখে মনে হচ্ছে যে মোড_আরাইট মডিউল এমনকি মোটেও কাজ করছে না।

আমি নিশ্চিত করেছিলাম যে মোড_আররাইটটি httpd.conf এ লোড হয়েছে যা এটি; এটি একটি সিংহ ইনস্টল ডিফল্ট হিসাবে তাই।

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

আমি কি কিছু উপেক্ষা করছি? আমাকে কি অন্য কোথাও কনফিগারেশন সেটিংস পরিবর্তন করতে হবে? আমার কি পিএইচপি এর কনফিগারেশন পরিবর্তন করতে হবে? কেন নির্দেশাবলী (যেমন ম্যাকসএক্সএক্স সিংহটিতে মোড_উইরাইট সক্রিয় করতে এবং ম্যাক ওএস এক্সে কাজ করার জন্য মোড_উইরাইট প্রাপ্ত করা ) অন্য লোকের জন্য কাজ করছে তবে আমার জন্য নয়? :)

আমি ইতিমধ্যে এই উপর ঘন্টা নষ্ট করেছি। যে কোনও সাহায্যের প্রশংসা করা হবে।


বিটিডাব্লু, আমি এমএএমপি ব্যবহার করতে চাই না। আমি এমএএমপি এর আগে ব্যবহার করেছি এবং এটি আমার সিস্টেমে থাকা মাইএসকিউএলের সাথে ভাল খেলেনি। এটি একটি মাথা ব্যাথার পরিবর্তে অন্য মাথা ব্যাথার জায়গা করে দেবে, তাই না ধন্যবাদ :)
নীলস হেইডেনরিচ

BTW আমি স্ট্যান্ডার্ড ওএস এক্স লায়ন, সিংহ সার্ভারে নেই।
নীলস হেইডেনরিচ

এটি প্রশ্নের উত্তর দেয় না, তবে ওয়েব ডেভ করার জন্য আপনার ম্যাকের স্থানীয় পরিবেশের সাথে কুস্তির বিকল্প হ'ল ভ্যাগ্র্যান্টের মতো কিছু ব্যবহার করা , যা আপনাকে সহজেই ভার্চুয়াল-মেশিন কনফিগারেশন সেট আপ এবং পরিচালনা করতে দেয়।
ড্যান জে

উত্তর:


12

আপনার /etc/apache2/users/username.conf এ আপনার নিম্নলিখিতটি রয়েছে তা নিশ্চিত করা উচিত:

<Directory "/Users/username/Sites/">
    Options Indexes MultiViews FollowSymlinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

ফলোসমিলিংস এবং AllowOverride এখানে প্রয়োজনীয়। আপনি আপনার প্রশ্নের উভয় ইঙ্গিত করার সময়, সম্ভবত আপনি এগুলি সঠিকভাবে কনফিগার করে নি।

নিশ্চিত করুন যে httpd.conf /private/etc/apache2/extra/httpd-userdir.conf এছাড়াও অন্তর্ভুক্ত রয়েছে। এটি ডিফল্টরূপে।

যে কোনও পরিবর্তনের পরে, পরিবর্তনগুলি কার্যকর হওয়ার জন্য ওয়েব সার্ভারটি পুনরায় চালু করুন।

যদি আপনার এখনও সমস্যা হয় তবে আপনার প্রকৃত পুনর্লিখনের নিয়মগুলির সাথে কোনও সমস্যা আছে। আপনি কি তাদের আগে একটি .htaccess প্রসঙ্গে ব্যবহার করছেন? নোট করুন যে একটি .htaccess এ, পুনর্লিখনের নিয়ম রেজেক্স একটি অগ্রণী স্ল্যাশ ছাড়াই একটি অনুরোধ ইউআরআই এর সাথে মিলেছে এবং সর্বদা ডিরেক্টরিটি যেখানে .htaccess থাকে তার সাথে সম্পর্কিত , যেখানে বিশ্বব্যাপী httpd.conf এ অবশ্যই ইউআরআই একটি শীর্ষস্থানীয় স্ল্যাশের সাথে মিলবে এবং হয় ওয়েব রুটের সাথে সম্পর্কিত। কারণ ধরে নেওয়া হয়েছে যে আপনার। / সাইটগুলির একটি উপ-ডিরেক্টরিতে আপনার .htaccess রয়েছে, আপনার পুনর্লিখনের নিয়মগুলি যখন .htaccess একটি (ভার্চুয়াল) হোস্টের ওয়েব রুটে থাকে তখন তার থেকে আলাদা আচরণ করতে পারে।

মোড_উইরাইট ডিবাগ করতে আপনি পুনরায় লেখার লগিং সক্ষম করতে পারেন। আপনার এটি /etc/apache2/httpd.conf এ সক্ষম করা উচিত:

RewriteLogLevel 3
RewriteLog /path/to/rewrite.log

ধন্যবাদ গেরি হ্যাঁ, আমি চেষ্টা করেছিলাম; শুধু এটি আবার চেষ্টা করে; দুর্ভাগ্যক্রমে কাজ করে না। আমি .htaccess পরিবর্তন করি নি, এটি ~ / সাইটস /… এ রয়েছে, যেমনটি আগে ছিল। এটি খুব হতাশাবোধক :(
নিলস হেইডেনরিচ

পুনরায় লেখার লগিং সক্ষম করার চেষ্টা করুন যেমন আমি উপরে সংশোধন করেছি।
গেরি

ঠিক আছে, মোড_উইরাইটের ক্ষেত্রে এটি কোনও সমস্যা নয়, যেমনটি মনে হচ্ছে; এটি .htaccess ফাইল যা সম্পূর্ণ উপেক্ষা করা হয়। আমি এতে কোনও জঞ্জাল রাখতে পারি এবং আমি কোনও ত্রুটির বার্তা পাই না। তাই অ্যাপাচি লোড হচ্ছে না। আমি অনুমতি পরীক্ষা করেছি, তারা ঠিক আছে (ফাইলটি বিশ্ব-পঠনযোগ্য)। আমি এটিকে কার্যকর করার চেষ্টা করেছি, কোনও পরিবর্তন নেই।
নীলস হেইডেনরিচ

আমি যদি / লাইব্রেরী / ওয়েব সার্ভার / নথিগুলিতে একটি .htaccess স্থাপন করি এবং এটি পরীক্ষা করার জন্য " লোকালহোস্ট " খুলি , এটি প্রত্যাশার মতো কাজ করে। এটি কেবল "~ / সাইটগুলিতে" কাজ করে না।
নীলস হেইডেনরিচ

আমি ক্রেজি কিছু করেছি এবং লগইন নাম "টেস্টিস্টেটার" দিয়ে একটি দ্বিতীয় ব্যবহারকারী অ্যাকাউন্ট তৈরি করেছি created আমি সেই ব্যবহারকারীর .conf- এ AllowOverride কে সবার মধ্যে সেট করেছি। আমি সেই ব্যবহারকারীর সাইট ফোল্ডারে জাঙ্কযুক্ত একটি .htaccess স্থাপন করেছি। যদি আমি লোকালহোস্ট / ~ টেস্টিটাস্টারে যাই, তবে আমি প্রত্যাশা অনুযায়ী 500 টি ত্রুটি পেয়েছি।
নীলস হেইডেনরিচ

1

অপশন যোগ করা + ফলোসিমলিংকগুলি আমার পক্ষে ভাল কাজ করেছে

Options +FollowSymLinks

RewriteEngine on
RewriteBase /
RewriteRule

এটা দিয়ে কি করছে Options +FollowSymLinks? আমি কেবল সেই লাইনটি
জুড়েছি

1

আমি একটি অনুরূপ সমস্যা ভোগ করছি যেখানে আমার .htaccess ফাইলটি সম্পূর্ণভাবে উপেক্ষা করা হচ্ছে যখন আমার ~ / সাইট ডিরেক্টরিতে একটি ভার্চুয়ালহস্টের অধীনে একটি সাবফোল্ডার যা সঠিকভাবে সেটআপ হয়েছিল।

বিভিন্ন স্থানে বিভিন্ন কনফিগারেশন ফাইল এবং AllowOverride All স্থাপন করে শেষ ঘন্টাটি কাটিয়ে শেষ পর্যন্ত আমি জানতে পেরেছিলাম যে .htaccess ফাইলটি এটি ফাইন্ডারে একটি .htaccess ফাইলের মতো দেখতে আসলে একটি .htaccess.txt ফাইলের সাথে ছিল প্রসারিত লুকানো hidden

আপনার .htaccess ফাইলটি পরীক্ষা করতে ও এটিকে পরিবর্তন করতে, ডানদিকে ক্লিক করুন এবং তথ্য পান এবং তারপরে শেষের থেকে কোনও অগ্রণী এক্সটেনশন সরিয়ে নেওয়ার বিষয়টি নিশ্চিত করুন যেমন আমার ছিল:

এবং এখন এটি কাজ করে!


1

নীচে .htaccess এন্ট্রি আমার জন্য ঠিক করে

Options Indexes FollowSymLinks


<ifModule mod_rewrite.c>

RewriteEngine On
#RewriteBase /~charles/Sites/Timesheet/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [NC,QSA,L]


</ifModule>

0

/ লাইব্রেরি / ওয়েব সার্ভার / নথিগুলিতে .htaccess স্থাপন এবং "লোকালহোস্ট /" খুলুন; এটি পরীক্ষা করতে, প্রত্যাশার মতো কাজ করে। এটি কেবল "~ / সাইটগুলিতে" কাজ করে না। এর জন্য ধন্যবাদ নীলস হেইডেনরিচ!


-1

আপনি যখন টাইপ করবেন: / ব্যবহারকারী / ব্যবহারকারী নাম / অ্যাপ_নাম

/ ওয়েব ওয়েবভারের মূলকে বোঝায়:

"স্থানীয় হোস্ট /"

আপনি যদি আপনার পুনর্লিখনটিতে / ~ ব্যবহারকারীর নাম / অ্যাপ_নাম ব্যবহার করেন তবে এটি কাজ করা উচিত।


1
শুরু হওয়া /পাথগুলি সর্বদা অ্যাপাচি-র জন্য নিখুঁত পাথ, http.conf ( <Directory "/Library/WebServer/Documents">)
nohillside
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.