【发布时间】:2014-06-23 09:35:11
【问题描述】:
我正在尝试使用 laravel 4 创建一个应用程序,但我遇到了 url 问题。我在我的机器上安装了 wamp。我用这段代码在我的 httpd-vhost.conf 中设置了一个新的虚拟主机
<VirtualHost mobile.dev>
DocumentRoot "C:\wamp\www\mobile.dev\public"
ServerName mobile.dev
<Directory "C:\wamp\www\mobile.dev">
Options FollowSymLinks Indexes
AllowOverride All
Order deny,allow
Allow from 127.0.0.1
Deny from all
Require all granted
</Directory>
mobile.dev 是一个文件夹,也是我本地主机中的域名。 这是我的 Route.php 文件
Route::get('/','HomeController@showWelcome');
Route::post('login','LoginController@userLogin');
Route::get('login','LoginController@getUsers');
当我询问 mobile.dev/login 时,它给了我未找到请求的 url。 你能帮我解决这个问题吗?但是当我要求 mobile.dev/ 它的工作时。
这是我的 .htaccess 文件:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
这里有更多细节。当我删除我的 htaccess 内容时,默认 url http://mobile.dev/index.php/login 一切正常
所以问题出在我的 htaccess 和我的虚拟主机中的重写
【问题讨论】:
-
显示您的路线文件
-
问题
Route::get('/','HomeController@showWelcome'); Route::post('login','LoginController@userLogin()'); Route::get('login','LoginController@getUsers()'); -
为什么
routes.php中的方法名称后面有括号 ?更具体地说,LoginController@userLogin(). -
Route::get('/' ,'HomeController@showWelcome'); Route::post('login' ,'LoginController@userLogin'); Route::get('login' ,'LoginController@getUsers');这不起作用 -
@Yazid 抱歉,没看到 :)
标签: php apache .htaccess laravel-4