سؤال

أنا أستخدم إطار zend مع Apache Seap على Ubuntu. عندما أحاول موقعي على LocalHost، استخدم عنوان URL التالي

علي سبيل المثال:

http://test.dev/authentication/login
http://test.dev/student/profile

حيث يشير "المصادقة" إلى المصادقة أو "تسجيل الدخول" يشير إلى تسجيل الدخول. يشير "الطالب" إلى الطالب "و" الملف الشخصي "يشير إلى المناهج.

سؤال: الآن أريد استخدام منتدى PHPBB مع موقعي. اضطررت إلى استخدام عنوان URL التالي لبدء منتدى PHPBB مع موقع الويب الخاص بي.

http://localhost/test/forum/

حيث "اختبار" هو دليل مشروعي الرئيسي (موقع الويب). أريد استخدام عنوان URL التالي لمنتدى PHPBB.

http://test.dev/forum/

كيفية تكوين مشروعي لفتح منتدى PHPBB باستخدام URL أعلاه؟ يجب أن أنخلق وحدة تحكم؟

شكرا

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

المحلول 2

بعد بعض الوقت لقد وجدت إجابتي. أنا فقط وضعت مجلد "المنتدى" في مجلد "العامة" وهو يعمل بالنسبة لي دون تغيير ملف .htaccess الخاص بي.

هنا هو إعداداتي:

هيكل الدليل الخاص بي هو الآن مثل هذا:

/var/www/test/public/index.php
/var/www/test/public/.htaccess
/var/www/test/public/forum

دخول httpd.conf الخاص بي هو مثل هذا:

<VirtualHost 127.0.0.1>
    ServerName test.dev
    DocumentRoot 'C:\wamp\www\test\public'
</VirtualHost>

ملف .htaccess الخاص بي مثل هذا (يتحكم في كل من المجلد والتحكم / عناوين URL):

SetEnv APPLICATION_ENV development

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

سطر آخر في ملف .htaccess أعلاه اسمح لي باستخدام عنوان URL الخاص بي دون index.php في عنوان URL.

بعد الإعداد أعلاه، أنا قادر على استخدام عناوين URL التالية بشكل صحيح:

http://test.dev/authentication/login
http://test.dev/student/profile
http://test.dev/forum/

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

التعليقات هي موضع ترحيب. شكرا

نصائح أخرى

أعتقد أنك تستخدم Apache Mod_Rewrite مع تطبيق ZF الخاص بك.

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

RewriteEngine Off 

يعمل هذا لأن Apache أولا ابحث عن ملف .htaccess في الدليل المطلوب، إذا لم يعثر على واحدة، فقد ينظر إلى مجلد الآباء وما إلى ذلك حتى يصل إلى الدليل العام. عند الطلب / المنتدى / يجد ملف .htaccess هناك وإيقاف تشغيل RewriteEngine.

هذا سيعمل كذلك:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(js|ico|gif|jpg|png|css)$ /index.php

إذا قمت بوضع PHPBB في المجلد العمومي، فسيكون خادم الويب قادرا على رؤيته وسيقوم سطران الثاني من هذا الرمز باستبعاد "الملفات الحقيقية" و "مجلدات حقيقية" من إعادة كتابة ما تريده forum مجلد. من الواضح أن آخر مرة تدفع كل حركة المرور الإطار إلى index.php ملف.

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