apache - Symfony .htaccess 为 app_MYNAME.php 添加规则

标签 apache .htaccess mod-rewrite symfony

我想在 web 文件夹中添加另一个 app_MYNAME.php。 该文件与 app.php 几乎相同。 唯一的区别是这个条目:

$kernel = new AppKernel('MYKERNELNAME', false);

我想用这些方法加载不同的配置文件。

当我在浏览器中输入时:

domain.de/app_MYNAME.php/VALUE

一切都很好。

现在我想隐藏app_MYNAME.php。结果应如下所示:

domain.de/VALUE

第二步是重定向。当有人在浏览器中输入:

domain.de/MYNAME/VALUE

它应该被重定向到:

domain.de/app_MYNAME.php/VALUE

我只收到 404misconfigured 消息。

最后我需要 3 个 app_MYNAME.php 文件(app_MYNAME1.php、app_MYNAME2.php、app_MYNAME3.php)。

我希望有人能解释一下,在 .htaccess 文件中放入什么内容。

这是我的 .htaccess 文件:

DirectoryIndex app.php

<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]

    RewriteCond %{HTTP:Authorization} .
    RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^app\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^ - [L]

    RewriteRule ^ %{ENV:BASE}/app.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        RedirectMatch 302 ^/$ /app.php/
    </IfModule>
</IfModule>

最佳答案

尝试在 .htaccess 文件中使用如下所示的配置:

<IfModule mod_rewrite.c>
    RewriteEngine On

    # ... Your other stuff

    # RewriteRule ^(.*)$ /app.php [QSA,L]
    RewriteRule ^(.*)$ /app_MYNAME.php [QSA,L]
</IfModule>

此外,请确保您的 nginx/apache 主机文件指向 Symfony 项目的 Web 目录。

关于apache - Symfony .htaccess 为 app_MYNAME.php 添加规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38587311/

相关文章:

.htaccess - htaccess 将子目录名称重写为查询字符串参数

.htaccess - htaccess 将根目录和子文件夹语言页面重定向到/en

ajax - 如何使用 hashbang url 处理 facebook 分享/点赞?

apache - .htaccess代码阻止了我网站的所有访问量,怎么了?

php - Apache:mod_rewrite 不指向一个地址

django - 如何使 mod_rewrite 与 mod_wsgi 配合良好?

regex - mod_rewrite/重定向与?在查询字符串中

wordpress - 如何找到服务器频繁关闭的根本原因

android - 无法在 Android 应用程序中 POST MultiPartEntity

linux - WordPress 网站丢失,CSS 效果不起作用