如何使用 xampp 和 apache 在本地主机中设置 Web 根目录并隐藏应用程序.php和app_dev.php


How to set the web root and hide app.php and app_dev.php in localhost using xampp and apache?

我在本地计算机中使用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

根据评论。

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

然后,您可以使用以下 apache mod_rewrite规则隐藏应用程序.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 服务器以应用修改。