好的,所以我花了相当多的时间在谷歌上搜索这个建议,尽管在WAMP服务器之前在Laravel 4中设置了几个测试项目,但我不确定在这种情况下我缺少什么。希望我已经提供了我的设置所需的所有细节以及我到目前为止所尝试的内容。
WAMPserver版本2.4,位于C:/ wamp /
Apache版本2.4.4
PHP版本5.4.12
mod_rewrite启用(我可以在phpinfo()中看到它)
项目位于C:/ wamp / www / wsrp /
在 C:/ wamp / www / wsrp / public 中我有以下.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]
</IfModule>
在我的 C:/wamp/bin/apache/Apache2.4.4/conf/httpd.conf 文件中,我已取消注释此行:
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
在我的 C:/wamp/bin/apache/Apache2.4.4/conf/extra/httpd-vhosts.conf 文件中,我有以下内容:
<VirtualHost *:80>
DocumentRoot "C:\wamp\www"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/wamp/www/wsrp/public"
ServerName localhost
Options Indexes FollowSymLinks
<Directory "C:/wamp/www/wsrp/public">
AllowOverride All
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Directory>
</VirtualHost>
在我的 C:/wamp/www/wsrp/app/routes.php 文件中,我有这条测试路线:
Route::get('test', function() {
echo 'Hello world!';
});
要测试我正在尝试访问此网址:
http://localhost/wsrp/test
这不起作用,它显示了一个内部服务器错误页面。但是,如果我访问此网址:
http://localhost/wsrp/index.php/test
我看到了我的“你好世界!”#39;消息显示。
显然,我希望能够在没有URL中的index.php的情况下处理这个项目,这就是问题所在。
在我看过的所有SO问题/答案中,他们都建议添加一个我已经完成的虚拟主机,在 C:/ wamp / www / wsrp中使用正确的.htaccess文件/ public / 我已经完成了mod_rewrite
已启用,我已经完成了,是的..不知道还有什么可以尝试,或者我缺少什么。非常感谢帮助和建议!
修改
忘记提及我在 C:/wamp/alias/wsrp.conf
中也有一个别名文件Alias /wsrp "c:/wamp/www/wsrp/public"
<Directory "c:/wamp/www/wsrp/public">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Allow from all
</Directory>
答案 0 :(得分:0)
首先为什么你有一个localhost v-host? WAMP服务器的根目录通常为c:/wamp/www
,已由HOSTS
映射到127.0.0.1或localhost。那个v-host是无关紧要的。
其次,当您的c:/wamp/www
目录用于包含您的网站时,httpd.conf已经包含了所需的<Directory>
详细信息,从内存中看起来像:
<Directory c:/wamp/www>
Options Indexes FollowSymLinks
AllowOverride All
Require local
</Directory>
除非要添加特定模块配置或更改任何默认值,否则无需为子目录定义任何特殊目录信息。要让你的vhost工作,你需要添加不超过:
<VirtualHost *:80>
ServerName mylocalsite.dev
DocumentRoot c:/wamp/www/mysite/public
</VirtualHost>
但我建议您将错误记录/访问日志记录放在其中。
答案 1 :(得分:0)
我遇到了同样的问题。我用这种方式解决了这个问题。
我希望能帮到你!