سؤال

أقوم بتشغيل Apache على نظام التشغيل Windows XP عبر Xampplite، ويمكنني الاستعانة بالمساعدة في تكوين الدليل الظاهري الخاص بي.إليك ما آمل أن أفعله في صندوق التطوير الخاص بي:

  1. أريد أن تعيش ملفات المصدر الخاصة بي خارج xampp htdocs dir
  2. يمكنني الوصول إلى المشروع على جهازي المحلي http://myproject
  3. يمكن للآخرين على شبكتي المحلية الوصول إلى المشروع على my.ip.address/myproject
  4. احتفظ بالمضيف المحلي يشير إلى مجلد htdocs الخاص بـ xampp حتى أتمكن من إضافة مشاريع أخرى بسهولة.

لقد عملت على 1 و 2 من خلال تحرير ملف Windows hosts وإضافة دليل ظاهري في ملف apache\conf\extra\httpd-vhosts.conf الخاص بـ xampp.لا أرى على الفور كيفية القيام بالثلاثة دون العبث بالرابعة.

هل كانت مفيدة؟

المحلول

اكتشفه:يستخدم الاسم المستعار بالنسبة للرقم 3، بدلاً من VirtualHost، وبالتالي:

Alias /myproject "C:/path/to/my/project"
<Directory "C:/path/to/my/project">
  Options Indexes FollowSymLinks MultiViews ExecCGI
  AllowOverride All
  Order allow,deny
  Allow from all
</Directory>

نصائح أخرى

لإنجاز قائمة احتياجاتك.

1) إنشاء الدليل:

mkdir c:\xampp\sites\myproject

2) قم بتحرير c:\windows\system32\drivers\etc\hosts بحيث يحتوي على هذا السطر:

127.0.0.1         مشروعي

وأضف ما يلي إلى c:\xampp\Apache\conf\extra\httpd-vhosts.conf:

  NameVirtualHost myproject:80

  <VirtualHost myproject:80>
  DocumentRoot c:/xampp/sites/myproject
  Options Indexes FollowSymLinks Includes ExecCGI
   AllowOverride All
  Order allow,deny
  Allow from all  
  </Directory>

3) أضف الأسطر التالية إلى نهاية c:\xampp\Apache\conf\httpd.conf:

  Alias /myproject/  "/xampp/sites/myproject/"

  <Directory "/xampp/sites/myproject">
  AllowOverride None
  Options None
  Order allow,deny
  Allow from all
  </Directory>

4) اترك DocumentRoot والدليل وما إلى ذلك في c:\xampp\Apache\conf\httpd.conf وحده لإنجاز هذا.كمرجع هذه السطور ستكون:

  DocumentRoot "/xampp/htdocs"

  <Directory />
   Options FollowSymLinks
   AllowOverride None
   Order deny,allow
   Deny from all
  </Directory>

  <Directory "/xampp/htdocs">
   Options Indexes FollowSymLinks Includes ExecCGI
   AllowOverride All
   Order allow,deny
   Allow from all
  </Directory>

تمكين أولا:LoadModule alias_module Modules/mod_alias.so

<IfModule alias_module>
  Alias /ddd "D:/prj/customer/www"

  <Directory "D:/prj/customer/www">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride all
    Order allow,deny
    Allow from all
  </Directory>
</IfModule>

تم اختباره على WAMP 2.2 وعمله:http://المضيف المحلي/ddd

في httpd.conf أضف الأسطر التالية، مع إجراء ما يلزم من تعديل:

<IfModule alias_module>
    Alias /angular-phonecat "C:/DEV/git-workspace/angular-phonecat"
</IfModule>

<Directory "C:/DEV/git-workspace/angular-phonecat">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride all
    Order allow,deny
    Allow from all
    Require all granted
</Directory>

لقد نجح هذا بشكل رائع على تثبيت XAMPP (Windows) بعد إعادة تشغيل خادم Apache.اضطررت إلى إضافة "يتطلب منح كل شيء"، ولكن بخلاف ذلك فهو يشبه إلى حد كبير الإجابات المذكورة أعلاه.

NameVirtualHost myProject: 80 <VirtualHost myProject: 80>
< /الدليل>

لا بد وأن:

NameVirtualHost myProject: 80 <VirtualHost myProject: 80>
< /المضيف الافتراضي>

تحية ؛)

حل المشكلة.كان يفتقد علامة الدليل.

NameVirtualHost myproject:80
<VirtualHost myproject:80>
    DocumentRoot "D:/Solution"
    <Directory "D:/Solution">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>    
</VirtualHost>

تم حل المشكلة بأبسط طريقة وأقل خطوات لا تحتاج إلى إنشاء مضيف افتراضي ، فقط قم بتغيير موقع الدليل المستهدف.

إليك ما قمت به من أجل التكوين:لقد قمت بذلك عن طريق تحرير C: /Xampp/Apache/Conf/httpd.conf تغيير الملفات التي قمت بها في ملف httpd.conf أضاف هذا البرنامج النصي مباشرة بعد scriptalias/cgi-bin/"c:/xampp/apache) /"

alias /projectxyz "C: /PathTomyProject" فهارس خيارات متابعة MultiViews Multiviews execcgi السماح لكل ترتيب ، رفض السماح من الجميع

Pathtomyproject = المسار الكامل للمشروع

وتغيير عنوان URL الخاص بـ Document Root DocumentRoot "C:/PathTomyProject"

أعد تشغيل خادم Apache الآن عن طريق إيقاف الخادم.لقد أوقفت خادم Apache، ثم قمت بتشغيل خادم Apache مرة أخرى.

مصدر: http://bytespedia.blogspot.com/2013/12/creating-virtual-directory-in-apache.html

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top