>백엔드 개발 >PHP 튜토리얼 >apache - laravel中如何去掉URL中烦人的server.SegmentFault

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

WBOY
WBOY원래의
2016-06-06 20:43:041160검색

许多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으로 문의하세요.