Heim > Backend-Entwicklung > PHP-Tutorial > apache - laravel中如何去掉URL中烦人的server.SegmentFault

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

WBOY
Freigeben: 2016-06-06 20:43:04
Original
1168 Leute haben es durchsucht

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage