我想从网址中删除app.php,但是如何?

Rez*_*asi 2 apache .htaccess symfony

我有一个symfony项目,并将其上传到主机。这是我的文件夹顺序:

www
-------vendor
-------bin
-------src
-------app
-------html
--------------(my web content is inside html folder including .htaccess)
--------------app.php
Run Code Online (Sandbox Code Playgroud)

当我ip_address/app.php在浏览器中键入内容时,它会显示我的主页。但我想app.php从所有请求网址中删除。请帮我做到这一点。

我在寻找解决方案,但是因为我对apache配置一无所知,所以无法解决我的问题。

请给我一个直接的解决方案或的完整代码.htaccess

Gnu*_*cki 5

这是最新版本的Apache中用于Symfony的vhost的示例:

# /etc/apache2/sites-available/my-app.conf

<VirtualHost *:80>
    ServerName my-app.local.fr
    DocumentRoot /home/me/Workspace/MySymfonyApp/web

    <Directory /home/me/Workspace/MySymfonyApp/web>
            Options Includes FollowSymlinks
            AllowOverride none
            Require all granted
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ app.php [QSA,L]
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/my_app_error.log
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/my_app_access.log vhost_combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

注意这三行将“删除” app.php

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
Run Code Online (Sandbox Code Playgroud)

要为所有虚拟主机激活此URL重写,必须执行以下命令:

$ sudo a2enmod rewrite
$ sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)

最后,.htaccess由于相关的安全问题,我不建议使用。