ম্যাক ওএস এক্স এ কাজ করার জন্য mod_rewrite পেয়েছি


2

আমি আমার ম্যাকে কাজ করার জন্য পুনরায় পুনঃলিখন পেতে চেষ্টা করছি। এই .htaccess ফাইলের বিষয়বস্তু:

<Files *\.ini>
  order allow,deny
  deny from all
</Files>

RewriteEngine on
RewriteRule .* index.php

আমি জানি এটি সক্রিয়, কারণ এটি .ini ফাইলগুলিকে সঠিকভাবে আটকানো এবং এটি কাল্পনিক অনুরোধটি পুনঃলিখন করা মনে হচ্ছে /foo থেকে index.php, ব্রাউজারে এই ত্রুটিটি আমি দেখছি:

অনুরোধ করা URL /Users/rwel/Sites/dev/quaestio/index.php এই সার্ভারে পাওয়া যায় নি।

Index.php ফাইলটিতে বর্তমানে পরীক্ষার উদ্দেশ্যে একটি প্রস্থান বিবৃতি রয়েছে এবং এটি সরাসরি কল করার সময় এটি কাজ করে। তাই, প্রশ্ন হচ্ছে, কী হচ্ছে? আমি apache ত্রুটি লগ মধ্যে গিয়েছিলাম, এবং আমি কি দেখেছি:

[থু নভেম্বর 03 14:36:02 ২011] [ত্রুটি] [ক্লায়েন্ট 127.0.0.1] ফাইল বিদ্যমান নেই: লাইব্রেরি / ওয়েব সার্ভার / ডকুমেন্টস / ব্যবহারকারী

সুতরাং সমস্যা হতে পারে যে এটি রুট অনুসন্ধান করা হয় না, কিন্তু এর সাথে সম্পর্কিত /Library/WebServer/Documents ডিরেক্টরি। আমি কি সঠিক? আমি এটা কিভাবে ঠিক করবো?

আপনার সাহায্যের জন্য ধন্যবাদ!

উত্তর:


4

আপনি ভার্চুয়াল হোস্ট সেট আপ করা উচিত।

/Etc/apache2/httpd.conf লাইনে অসম্মতি:

#Include /private/etc/apache2/extra/httpd-vhosts.conf

এখন /etc/apache2/extra/httpd-vhosts.conf সম্পাদনা করুন। উদাহরণ vhosts মুছে ফেলুন, কিন্তু প্রথমটি হিসাবে একটি ডিফল্ট vhost উল্লেখ করুন। এখানে একটি উদাহরণ কনফিগারেশন।

NameVirtualHost *: 80

<VirtualHost *:80>
        DocumentRoot /Library/WebServer/Documents
</VirtualHost>

<VirtualHost *:80>
        ServerName myproject
        DocumentRoot /Users/username/Sites/myproject
        <Directory /Users/username/Sites/myproject>
                Order Allow,Deny
                Allow from all
        </Directory>
</VirtualHost>

চলমান দ্বারা apache পুনরায় আরম্ভ করুন apache2ctl restart

আপনার / etc / hosts ফাইলের মধ্যে একটি এন্ট্রি যোগ করা উচিত যাতে আপনার সার্ভারের নাম সমাধান হয়:

127.0.0.1  myproject

এখন, যখন অ্যাক্সেস HTTP: // myproject , আপনার পুনর্লিখন নিয়ম ডান নথি রুট আপেক্ষিক হবে।


আপনাকে অনেক ধন্যবাদ. আমি সম্ভবত আপনি সঠিক মনে হয়। আমি আগে ভার্চুয়াল হোস্ট কনফিগার করার চেষ্টা করেছি - কিন্তু আমি লক্ষ্য করেছি যে আমি এখন আমার লাইব্রেরি / ওয়েব সার্ভার / ডকুমেন্টস ফোল্ডারটি অ্যাক্সেস করতে পারিনি (এইখানে phpMyAdmin ইনস্টল করা আছে)।
Rijk

এই উদাহরণ কনফিগ সঙ্গে স্থানীয় হোস্ট এখনও সেবা / লাইব্রেরি / ওয়েব সার্ভার / নথিপত্র করা হবে। প্রথম vhost সর্বদা ডিফল্ট এক।
Gerry

আপনি সঠিক, এই প্রথম ভার্চুয়াল হোস্ট এন্ট্রি যে সমস্যা সমাধান। আপনার সমাধান সম্পূর্ণ কাজ করে! আবার ধন্যবাদ :)
Rijk

0

গেরি এর সমাধান শীর্ষে, আমি AllowOverride যুক্ত করেছি যা আমার ক্ষেত্রে সম্ভাব্য পুনঃলিখন তৈরি করে;

<VirtualHost *:80>
        DocumentRoot /Library/WebServer/Documents
</VirtualHost>

<VirtualHost *:80>
        ServerName myproject
        DocumentRoot /Users/username/Sites/myproject
        <Directory /Users/username/Sites/myproject>
                Order Allow,Deny
                Allow from all
                AllowOverride All
        </Directory>
</VirtualHost>

সূত্র: http://forum.joomla.org/viewtopic.php?t=518192

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