首頁 >後端開發 >php教程 >apache - laravel中如何去掉URL中烦人的server.SegmentFault

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

WBOY
WBOY原創
2016-06-06 20:43:041159瀏覽

许多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
不谢 哈哈哈

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn