首页 > 后端开发 > php教程 > apache - laravel中如何去掉URL中烦人的server.SegmentFault

apache - laravel中如何去掉URL中烦人的server.SegmentFault

WBOY
发布: 2016-06-06 20:43:04
原创
1165 人浏览过

许多web框架中都存在类似index.* 的入口文件,而在laravel中则是server.php。比起其他框架,laravel中的server.php经常在URL中出现,比如:主页是http://localhost/,但当请求其他页面时,URL就变成了http://localhost/server.php/some。个人觉得这样很不美观,开发时也会遇到一些路径问题。

于是便想问有没有办法去掉烦人的‘server.php’。下面说说我尝试过的办法:

我是按照网上教程来的,首先我修改了Apache的httpd.conf(我使用的是Wamp)
1,在“Listen 80”的下一行增加了“RewriteEngine on”

2,去掉了LoadModule rewrite_module modules/mod_rewrite.so 前面的注释

3,新增一项Directory(httpd.conf文件中已经存在Directory,我不确定再添加会不会有事
Directory内容:
Options Indexes FollowSymLinks
AllowOverride All
Order deny,allow
Allow from all

4,配置laravel项目文件中的.htaccess(省略了方括号,因为无法显示)
IfModule mod_rewrite.c Options +FollowSymLinks RewriteEngine On IfModule IfModule mod_rewrite.c RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ server.php/$1 [L] IfModule

5,在app/config/local/app.php中添加'server' => '',
到此,配置完成,但问题依旧,'server.php'并没有消失,该出现它的地方还是出现了,该加它的地方还是要加。就好像以上配置全部无效一样。

有人试过去掉'server.php'吗?求解惑

回复内容:

许多web框架中都存在类似index.* 的入口文件,而在laravel中则是server.php。比起其他框架,laravel中的server.php经常在URL中出现,比如:主页是http://localhost/,但当请求其他页面时,URL就变成了http://localhost/server.php/some。个人觉得这样很不美观,开发时也会遇到一些路径问题。

于是便想问有没有办法去掉烦人的‘server.php’。下面说说我尝试过的办法:

我是按照网上教程来的,首先我修改了Apache的httpd.conf(我使用的是Wamp)
1,在“Listen 80”的下一行增加了“RewriteEngine on”

2,去掉了LoadModule rewrite_module modules/mod_rewrite.so 前面的注释

3,新增一项Directory(httpd.conf文件中已经存在Directory,我不确定再添加会不会有事
Directory内容:
Options Indexes FollowSymLinks
AllowOverride All
Order deny,allow
Allow from all

4,配置laravel项目文件中的.htaccess(省略了方括号,因为无法显示)
IfModule mod_rewrite.c Options +FollowSymLinks RewriteEngine On IfModule IfModule mod_rewrite.c RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ server.php/$1 [L] IfModule

5,在app/config/local/app.php中添加'server' => '',
到此,配置完成,但问题依旧,'server.php'并没有消失,该出现它的地方还是出现了,该加它的地方还是要加。就好像以上配置全部无效一样。

有人试过去掉'server.php'吗?求解惑

laravel最好是自己配置虚拟主机的,直接指向 public里的index.php
如果非要不指定,可以看看这个 http://blog.segmentfault.com/xiaobeicn/1190000000460901。

server.php 其实是给php内置的服务器用的 当使用 php -S localhost:9999 开启内置服务器的时候就会使用server.php 做了部分url兼容的工作

最佳的部署 同时也是官方推荐的 都是把根路径指向 public , 入口文件就是 index.php
这样也可以避免一些安全问题

http://blog.csdn.net/yingdynasty/article/details/49995371
不谢 哈哈哈

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板