मैं लार्वेल के लिए नया हूं। मैं उबंटू 15.04 का उपयोग कर रहा हूं। मैंने $ sudo apt-get install lamp-server^
कमांड का उपयोग करके संगीतकार और लैंप सर्वर का उपयोग करके लैरवेल फ्रेमवर्क संस्करण 5.1.7 (एलटीएस) स्थापित किया (मैंने होमस्टेड इंस्टॉल नहीं किया था)। मैं आईडीई के रूप में PhpStorm 8.0.3
का उपयोग कर रहा हूं।लार्वेल 5 केवल रूट रूट काम करता है
मैंने तीन मार्ग और नियंत्रक बनाए। PagesController.php
फ़ाइल इस तरह दिखता है:
class PagesController extends Controller
{
public function index()
{
return 'Welcome to my homepage!';
}
public function about()
{
return 'Learn a little about me.';
}
public function hello()
{
return 'Hello World!';
}
}
और routes.php
इस तरह दिखता है:
Route::get('/', '[email protected]');
Route::get('about', '[email protected]');
Route::get('hello', '[email protected]');
जब भी मैं http://localhost:63342/my-first-app/public/
(या http://localhost:63342/my-first-app/public/index.php
) करने के लिए जाना यह ठीक काम करता है और मुझे Welcome to my homepage!
संदेश दिखाता है। लेकिन जब भी मैं http://localhost:63342/my-first-app/public/hello
या http://localhost:63342/my-first-app/public/about
पर जाता हूं, तो मुझे 404 Not Found
संदेश मिलता है।
इसके अलावा, .htaccess
फ़ाइल जो my-first-app/public
पर स्थित है इस तरह दिखता है:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule^index.php [L]
</IfModule>
मैं क्या कोशिश की है:
- मैं
http://localhost:63342/my-first-app/public/index.php/hello
याhttp://localhost:63342/my-first-app/public/index.php/about
कोशिश की, लेकिन यह या तो काम नहीं करता। - मैंने
sudo a2enmod rewrite
कमांडsudo service apache2 restart
दर्ज किया लेकिन यह या तो काम नहीं करता है। - मैंने
composer dump-autoload
की कोशिश की लेकिन यह या तो काम नहीं करता है। मैंने
None
सेAll
apache2.conf
में बदल दिया। अब इसका हिस्सा इस तरह दिखता है:<Directory /> Options FollowSymLinks AllowOverride All Require all denied </Directory> <Directory /usr/share> AllowOverride All Require all granted </Directory> <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> <Directory /srv/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>
लेकिन यह समस्या को हल नहीं करता है।
अद्यतन (2015/07/15):
php artisan route:list
चलाने का परिणाम इस प्रकार है:
+--------+----------+-------+------+--------------------------------------------+------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+-------+------+--------------------------------------------+------------+
| | GET|HEAD |/ | | App\Http\Controllers\[email protected] | |
| | GET|HEAD | about | | App\Http\Controllers\[email protected] | |
| | GET|HEAD | hello | | App\Http\Controllers\[email protected] | |
+--------+----------+-------+------+--------------------------------------------+------------+
"php artisan मार्ग: सूची" चलाएं और आउटपुट पेस्ट करें। आपको वहां सभी परिभाषित मार्ग देखना चाहिए। –
@ jedrzej.kurylo आपके उत्तर के लिए धन्यवाद। मैंने अपने प्रश्न के अंत में परिणाम जोड़ा। – today
क्या आप डीडी ('टेस्ट') जोड़ सकते हैं; अपनी अनुक्रमणिका फ़ाइल के शीर्ष पर, "http: // localhost: 63342/my-first-app/public/index.php/about" पर जाएं और देखें कि परीक्षण आउटपुट होगा या नहीं? इस तरह हम जानते होंगे कि यह फिर से लिखने के साथ कुछ है या लार्वा कोड –