CodeIgniter 2.0 عناوين URL الودية لا تعمل على Mac OS X Snow Leopard
-
03-10-2019 - |
سؤال
لسبب ما في CI 2.0 لا تعمل عناوين URL.
http://localhost/myapp/ - will open the default controller (bc it finds index.php)
http://localhost/myapp/index.php/home/ - will open the default controller
http://localhost/myapp/home/ - will show path not found
لست متأكدًا مما إذا كانت هذه مشكلة مع 2.0 أو مشكلة محددة في التكوين الخاص بي.
أقوم بتشغيل Apache 2 على Mac OS X Snow Leopard.
بحثت عن حل .htaccess ، لكنني لم أتمكن من العثور على أي شيء لـ CI 2.0.
المحلول 2
كانت المشكلة الحقيقية هي أنه في Snow Leopard ، فإن تكوين الدليل الفعلي عادة ما يكون موجودًا في/pervist هناك لذلك يجب عليك الذهاب وإصلاحه يدويًا ، حتى لو تم تمكينه في httpd.conf العادية
مخادع. شكرا لكم جميعا. وإلا فإن كل ما تحتاجه هو المعتاد.
نصائح أخرى
هل لديك قاعدة إعادة كتابة في Apache للتعامل مع Codeigniter مثل هذا؟ نرى: http://codeigniter.com/wiki/mod_rewrite/
- أول واحد بشكل افتراضي سيعمل (الافتراضيات إلى index.php)
- ثانية ستعمل واحد لأنك تمريرها إلى index.php
- الثالث لن دون قاعدة إعادة الكتابة.
.htaccess
ستعمل حلول CodeignIter 1.7 أيضًا لـ Codeigniter 2.0. .htaccess
يستخدم لتكوين خادم الويب Apache ، وهو مستقل عن Codeigniter.
(التكوين المقترح من دليل Codeigniter لذلك يجب أن تعمل بشكل جيد.)
$ sudo sudo chgrp staff /Library/WebServer/Documents/
$ sudo chmod 775 /Library/WebServer/Documents/
بعد ذلك سيكون كل تطبيقي ضمن المجلد/المكتبة/خادم الويب/المستندات/
مثل "الاختبار"
/مكتبة/خادم ويب/مستندات/اختبار
$ echo "Hello World" >> /Library/WebServer/Documents/testing/index.php
http://localhost/testing
==> it should appear Hello World
الآن تحت المجلد/المكتبة/خادم الويب/المستندات/"ستقوم بوضع مجلد CI الذي سيتعين عليك إضافة
.htaccess
RewriteEngine On
RewriteCond $1 !^(index\.php)
RewriteRule ^(.+)$ index.php?$1 [L]
AddHandler php5-script .php
على ci_folder/application/config.php
$config['index_page'] = '';
وأعتقد أن هذا كل شيء! يتمتع!
يمكن ان تجدها هنا. يقع أدناه "إزالة ملف INDEX.PHP".
إزالة ملف index.php
بشكل افتراضي ، سيتم تضمين ملف index.php في عناوين URL:
example.com/index.php/news/article/my_article يمكنك بسهولة إزالة هذا الملف باستخدام ملف .htaccess مع بعض القواعد البسيطة. فيما يلي مثال على هذا الملف ، باستخدام الطريقة "السلبية" التي يتم بها إعادة توجيه كل شيء باستثناء العناصر المحددة:
RewriteEngine on RewriteCond $1 !^(index\.php|images|robots\.txt) RewriteRule ^(.*)$ /index.php/$1 [L]
في المثال أعلاه ، يتم التعامل مع أي طلب HTTP بخلاف ذلك الخاص بـ INDEX.PHP ، والصور ، و robots.txt كطلب لملف index.php الخاص بك.
أفضل طريقة هي تثبيت XAMPP ، اعمل معي.
ما عليك سوى إيقاف Apache المحلي ووضع تطبيقك في HTDOCS (XAMPP).
سترى طلبك يطيع عناوين URL الودية.
حظا طيبا وفقك الله