如何使用xampp和apache设置web root并在localhost中隐藏app.php和app_dev.php?

时间:2014-12-13 16:15:32

标签: php apache symfony xampp localhost

我在本地计算机上使用 symfony 进行编程。它的地址是http://localhost/RTL/web/app_dev.php/secure_area

如何将此地址更改为http://localhost/secure_area

我的意思是删除RTL/web/app_dev.php

我正在使用xampp,apache和symfony 2.6。

其他地址可能是这样的:

http://localhost/RTL/web/app_dev.php/login    =>     http://localhost/login
http://localhost/RTL/web/app_dev.php/logout   =>     http://localhost/logout
http://localhost/RTL/web/app_dev.php/admin    =>     http://localhost/admin

1 个答案:

答案 0 :(得分:1)

相应的评论。

删除RTL / web,在apache中的虚拟主机文件上添加指令DocumentRoot "C:/xampp/htdocs/localhost/RTL/web"

然后你可以使用这些apache mod_rewrite规则隐藏app.php:

RewriteEngine On  
RewriteCond %{ENV:REDIRECT_STATUS} ^$  
RewriteRule ^app\.php(/(.*)|$) %{CONTEXT_PREFIX}/$2 [R=301,L]
RewriteRule .? - [L]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)$ app.php [QSA,L]
RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$
RewriteRule ^(.*) - [E=BASE:%1]    
RewriteRule .? %{ENV:BASE}app.php [L]

然后重启apache服务器以应用修改。