এক্সএএমপিপি / অ্যাপাচি htodocs এর বাইরে ফাইল পরিবেশন করুন [বন্ধ]


304

ডিরেক্টরিটির বাইরে কোনও ফাইল পরিবেশন করার জন্য কি xampp কনফিগার করা সম্ভব htdocs?

উদাহরণস্বরূপ, বলুন যে আমার কাছে নিম্নরূপে একটি ফাইল রয়েছে:

C:\projects\transitCalculator\trunk\TransitCalculator.php

এবং আমার xampp ফাইলগুলি সাধারণত এখান থেকে পরিবেশন করা হয়:

C:\xampp\htdocs\

(কারণ এটি ডিফল্ট কনফিগারেশন) অ্যাপাচি আমার TransitCalculator.phpফাইলটিকে নীচে না নিয়েই সনাক্ত এবং পরিবেশন করার কোনও উপায় আছে htdocs? অগ্রাধিকার হিসাবে আমি আপাচি প্রকল্প ডিরেক্টরিতে সম্পূর্ণ সামগ্রীতে পরিবেশন / অ্যাক্সেস করতে চাই এবং আমি প্রকল্প ডিরেক্টরিটি এর অধীনে স্থানান্তর করতে চাই না htdocs

সম্পাদনা: প্রশ্ন / এটিকে আরও "সন্ধানযোগ্য" করতে প্রশ্ন শিরোনামে অ্যাপাচি যুক্ত করতে সম্পাদিত


1
আমার মনে হয় ট্যাগগুলি যথেষ্ট অনুসন্ধানযোগ্য হবে।
আইসড ওয়াটার

24
এই প্রশ্নটি বন্ধ করা উচিত হয়নি। এটি একটি এক্সএএমপিপি প্রশ্ন। এটি একটি বিকাশকারী প্রশ্ন।
অ্যান্ড্রু কোপার

15
অ্যান্ড্রু কোপার, আমি সম্মত, তবে এই মুহুর্তে স্ট্যাক-এক্সচেঞ্জ ইকোস্ফিয়ার জুড়ে ভারী হাতের বন্ধুত্বের স্থানীয় স্তরের সাথে এটি আশ্চর্যজনক নয়। ¯_ (ツ) _ / ¯
সে.মি.কুলহো

বিষয়বস্তু বন্ধ করুন, তবে কেবল টিপস দিতে চান: কিছু সময় ডিরেক্টরিগুলির পরিবর্তে ডিরেক্টরিগুলি আপনার "এইচটিডোকস" ফোল্ডারে যেমন সরানো হয়। আপনি স্থানীয় হোস্ট মধ্যে Google ড্রাইভে ফাইল খুলুন পাবে চাই যদি;) ( stackoverflow.com/questions/41751330/... )
Gordova

2
সমস্ত উত্তর ছাড়াও আমি একটি যুক্ত করতে চাই। পিএইচপি 5.4.0 এর পরে, আপনি কমান্ড লাইনটি ব্যবহার করে আপনার প্রকল্পের রুটে যেতে পারেন এবং সম্পাদন করতে পারেন php -S <host>:<port>। উদাহরণস্বরূপ php -S localhost:80
রেডিয়ান্টশো

উত্তর:


362

ঠিক আছে, প্রতি পিক্স০ এর স্পার্কস এবং ডেভের উত্তরগুলি দেখে মনে হচ্ছে এটি করার জন্য তিনটি উপায় রয়েছে:


ভার্চুয়াল হোস্টস

  1. ওপেন সি: \ xampp \ অ্যাপাচি \ কনফ \ অতিরিক্ত \ httpd-vhosts.conf।
  2. আন-মন্তব্য ~ লাইন 19 ( NameVirtualHost *:80)।
  3. আপনার ভার্চুয়াল হোস্ট যুক্ত করুন (36 লাইন 36):

    <VirtualHost *:80>
        DocumentRoot C:\Projects\transitCalculator\trunk
        ServerName transitcalculator.localhost
        <Directory C:\Projects\transitCalculator\trunk>
            Order allow,deny
            Allow from all
        </Directory>
    </VirtualHost>
  4. আপনার হোস্ট ফাইলটি খুলুন (সি: \ উইন্ডোজ \ সিস্টেম 32 \ ড্রাইভারস \ ইত্যাদি \ হোস্ট)।

  5. যোগ

    127.0.0.1 transitcalculator.localhost #transitCalculator

    ফাইলটির শেষে (স্পাইবোটের আগে - অনুসন্ধান করুন এবং যদি ইনস্টল করা থাকে তবে জিনিসগুলি ধ্বংস করুন)।

  6. সংরক্ষণ করুন (আপনাকে এটি ডেস্কটপে সংরক্ষণ করতে হবে, পুরানো হোস্ট ফাইলের অনুমতিগুলি পরিবর্তন করতে হবে (ডান ক্লিক করুন> বৈশিষ্ট্যগুলি)) এবং নতুনটি ডিরেক্টরিতে পুরানোটির (অথবা পুরানো নামটির নতুন) উপর অনুলিপি করুন ভিস্তা এবং সমস্যা আছে)।
  7. অ্যাপাচি পুনরায় চালু করুন।

এখন আপনি http: //transitcalculator.localhost/ এ ব্রাউজ করে সেই ডিরেক্টরিটি অ্যাক্সেস করতে পারেন ।


একটি উপনাম তৈরি করুন

  1. আপনার http.confফাইলের ~ লাইন 200 শুরু করে , <Directory "C:/xampp/htdocs">এবং </Directory>(~ লাইন 232) এর মধ্যে সমস্ত কিছু অনুলিপি করুন এবং আপনার সার্ভারকে নতুন ডিরেক্টরিটির সঠিক অনুমতি দেওয়ার জন্য C:/xampp/htdocsআপনার পছন্দসই ডিরেক্টরিটি (এই ক্ষেত্রে C:/Projects) প্রতিস্থাপনের সাথে সাথে নীচে এটি আটকান ।

  2. এই <IfModule alias_module></IfModule>অধ্যায় (~ লাইন 300) এবং অ্যাড

    Alias /transitCalculator "C:/Projects/transitCalculator/trunk"

    Aliasমডিউল ট্যাগগুলির ভিতরে মন্তব্য ব্লকের নীচে (বা আপনার ইচ্ছার সাথে প্রাসঙ্গিক যাই হোক না কেন) ।


আপনার নথির রুট পরিবর্তন করুন

  1. সিটিতে ~ লাইন 176 সম্পাদনা করুন: \ xampp \ অ্যাপাচি \ কনফেস \ httpd.conf; পরিবর্তন DocumentRoot "C:/xampp/htdocs"করার জন্য #DocumentRoot "C:/Projects"(অথবা যাহা চান)।

  2. আপনার নতুন অবস্থানটি (এই ক্ষেত্রে C:/Projects) মেলাতে 203 লাইনটি সম্পাদনা করুন ।


মন্তব্য:

  • আপনাকে পিছনে স্ল্যাশ "" "এর পরিবর্তে" / "ফরওয়ার্ড স্ল্যাশ ব্যবহার করতে হবে।
  • শেষের দিকে "/" অন্তর্ভুক্ত করবেন না।
  • আপনার সার্ভার পুনরায় চালু করুন

13
পদক্ষেপে (3) সি সম্পাদনা করতে: \ উইন্ডোজ \ সিস্টেম 32 \ ড্রাইভারস \ ইত্যাদি \ হোস্ট। প্রথমে প্রশাসক হিসাবে সম্পাদক (নোটপ্যাড, নোটপ্যাড ++ বা কোনও সম্পাদক) চালানোর জন্য সেরা অনুশীলন। সুতরাং আপনি সরাসরি সি: \ উইন্ডোজ \ সিস্টেম 32 \ ড্রাইভার \ ইত্যাদি \ ফোল্ডারে সংরক্ষণ করতে পারেন।
কলমেলনএন কল করুন

3
যদি আপনি 403 ত্রুটি পান তবে এই লিঙ্কটি দেখুন
ওয়াজটেক ওক্কার্সেকেক

21
অর্ডার অনুমতি ব্যবহার করে, উইন 7-এর 403 এরর থেকে সমস্ত থেকে মঞ্জুর করুন অস্বীকার করুন কারণ এই বিকল্পগুলি হ্রাস করা হয়েছে। সমস্ত অনুমোদিত প্রয়োজন ব্যবহার করুন। stackoverflow.com/questions/9110179/...
hywak

4
শুধু এফওয়াইআই, এই পদক্ষেপটি আমার পক্ষে করা প্রয়োজন বলে মনে হয় নি: আন-মন্তব্য লাইনের 19 (নাম ভার্চুয়ালহোস্ট *: 80)
সিলভারব্যাক

2
ব্যবহার Order allow,deny Allow from allআমার পক্ষে কাজ করে নি, তবে Require all grantedকাজ করেছে।
ড্যানি বেকেট

96

ডকুমেন্টরুট সম্পাদনা করে আপনি এটি স্থানান্তর করতে পারেন এক্সএএমপিপি \ অ্যাপাচি \ কনফিড \ httpd.conf সেটিংস ।

এটি বর্তমানে হওয়া উচিত:

সি: / XAMPP / htdocs

এটিকে পরিবর্তন করুন:

সি: / প্রকল্প / transitCalculator / ট্রাঙ্ক


40
ডকুমেন্টরুট জিজ্ঞাসা করে এমন দুটি লাইনে এটি সম্পাদনা করতে ভুলবেন না। আপনি শুধুমাত্র শীর্ষ এক পরিবর্তন করেন তাহলে আপনাকে পাঠযোগ্য এক্সেস ত্রুটি ইত্যাদি পাবেন
Arcolye

2
এটি এক্সএএমপি ম্যাকের জন্যও প্রযোজ্য?
ক্রুদ্ধ কিউই

এখন কোন ইউআরএল দ্বারা সূচী পাতাটি অ্যাক্সেস করতে পারবেন?
মনীশ কুমার

49

একটি ভার্চুয়ালহোস্ট এটির জন্যও কাজ করবে এবং আপনার পক্ষে আরও ভাল কাজ করতে পারে কারণ আপনি সাব-ডিরেক্টরিগুলির প্রয়োজন ছাড়াই বেশ কয়েকটি প্রকল্পের হোস্ট করতে পারেন। আপনি এটি কীভাবে করেন তা এখানে:

httpd.conf (বা অতিরিক্ত \ httpd-vhosts.conf httpd.conf এর সাথে সম্পর্কিত Tra "\" ট্র্যাশিংয়ের ফলে এটি কাজ না করার কারণ হতে পারে):

NameVirtualHost *:80
# ...
<VirtualHost *:80>  
    DocumentRoot C:\projects\transitCalculator\trunk\
    ServerName transitcalculator.localhost
    <Directory C:\projects\transitCalculator\trunk\>  
        Order allow,deny  
        Allow from all  
    </Directory>
</VirtualHost> 

HOSTS ফাইল (সি: \ উইন্ডোজ \ system32 \ ড্রাইভার \ ইত্যাদি \ হোস্ট সাধারণত):

# localhost entries
127.0.0.1 localhost transitcalculator.localhost

এখন এক্সএএমপিপি পুনরায় চালু করুন এবং আপনার http: //transitcalculator.localhost/ অ্যাক্সেস করতে সক্ষম হওয়া উচিত এবং এটি সরাসরি সেই ডিরেক্টরিতে মানচিত্র করবে।

আপনি যদি এমন কোনও পরিবেশের পরিবেশের প্রতিলিপি তৈরির চেষ্টা করছেন যেখানে আপনি কোনও সাইট বিকাশ করছেন যা কোনও ডোমেন নামের মূলের উপর বসে থাকবে তখন এটি সহায়ক হতে পারে। উদাহরণস্বরূপ, আপনি নিখুঁত পাথযুক্ত ফাইলগুলিতে ইঙ্গিত করতে পারেন যা সার্ভারে পৌঁছে দেবে:

<img src="/images/logo.png" alt="My Logo" />

অন্যদিকে এলিয়াস বা সাব-ডিরেক্টরি ব্যবহার করে এমন একটি পরিবেশে আপনার এখনকার ফাইলের সাথে "চিত্রগুলি" ডিরেক্টরিটি ঠিক কোথায় ছিল সে সম্পর্কে আপনার নজর রাখা উচিত।


আমার পিসিতে বেশ কয়েকটি নেটওয়ার্ক ড্রাইভ রয়েছে যা চিঠিগুলি চালানোর জন্য ম্যাপ করা হয়েছে (যেমন X:\myfolder)। আমি যখন এই পদ্ধতিটি ব্যবহার করি তখন আমি একটি "অ্যাক্সেস নিষিদ্ধ" সতর্কতা পাই। এর অর্থ কি অ্যাপাচি ব্যবহারকারীর ড্রাইভে পড়ার অ্যাক্সেস নেই?
harryg

1
অধীনে Directoryপ্রতিস্থাপন Order allow,denyএবং Allow from allসাথে Require all grantedStackoverflow.com/questions/9110179/…
মিশিগেল

16

আপনি যে কোনও জায়গা থেকে নিষেধাজ্ঞাসমূহের সাথে পৃষ্ঠাগুলি পরিবেশন করতে অ্যাপাচি সেট করতে পারেন তবে এটি সাধারণত আরও সুরক্ষিত আকারে বিতরণ করা হয়।

আপনার অ্যাপাচি ফাইলগুলি সম্পাদনা করা (http.conf অন্যতম সাধারণ নাম) আপনাকে যে কোনও ফোল্ডার সেট করার অনুমতি দেবে যাতে এটি আপনার ওয়েবরোটে প্রদর্শিত হয়।

সম্পাদনা করুন:

ওরফে মাইয়াপ সি: \ মাইয়াপ \

আমি আমার উত্তরটি সম্পাদনা করেছি যাতে http.conf ফাইলের মধ্যে একটি উপাত্ত তৈরির জন্য বিন্যাসটি অন্তর্ভুক্ত করা যায় যা উইন্ডোজের শর্টকাটের মতো বা আন * x এর অধীনে একটি সিমিলিংক যেখানে আপাচি ওয়েব্রোটে একটি ফোল্ডার 'ভান করে'। এটি সম্ভবত দীর্ঘমেয়াদে আপনার জন্য আরও কার্যকর হতে চলেছে।


10

আপনি যদি নিজের ডকুমেন্টের মূল হিসাবে একটি XMLPP কোনও নেটওয়ার্ক ড্রাইভ ব্যবহার করার চেষ্টা করছেন তবে আপনাকে httpd.conf এ ইউএনসি পাথ ব্যবহার করতে হবে। এক্সএএমপিপি আপনার ম্যাপযুক্ত নেটওয়ার্ক ড্রাইভগুলি সনাক্ত করতে পারে না।

উদাহরণস্বরূপ নিম্নলিখিতটি কাজ করবে না, ডকুমেন্টরুট "এক্স: / ওয়েবরুট"

তবে এটি হবে, ডকুমেন্টরুট "//192.168.10.100/webroot" (ফরোয়ার্ড স্ল্যাশগুলি দেখুন, পিছনে স্ল্যাশ নয়)


এটি আমার ম্যাপযুক্ত নেটওয়ার্ক ড্রাইভের সাথে দুর্দান্ত কাজ করে।
শান কেন্ডেল

7

অ্যাপ্লিকেশনটিকে htdocs এর বাইরের ওয়েবসাইটের হোস্ট করার অনুমতি দেওয়ার সমাধান:

Httpd.conf এ "ডকুমেন্টরুট" নির্দেশনার নীচে আপনার একটি ডিরেক্টরি ব্লক দেখতে হবে। এই ডিরেক্টরি ব্লকটি এর সাথে প্রতিস্থাপন করুন:

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Allow from all
</Directory> 

একটি বাস্তব পরিবেশে এই কনফিগারেশন ব্যবহার না মনে রাখবেন


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