从url中删除/web/app_dev.php

时间:2014-05-22 14:13:21

标签: php .htaccess symfony symlink

我有什么

我想要什么

从网址中删除/web/app_dev.php

到目前为止我尝试了什么

当我转到http://www.example.com/~araymond/portfolio/home时,我遇到以下错误:

No route found for "GET /~araymond/portfolio/home"
404 Not Found - NotFoundHttpException


这是我的投资组合/ .htaccess:

RewriteEngine on
RewriteBase /~araymond/portfolio/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# DEV ENVIRONMENT #
RewriteRule ^$ web/app_dev.php [QSA]
RewriteRule ^(.*)$ web/app_dev.php/$1 [QSA,L]


这是我的投资组合/ web / .htaccess:

DirectoryIndex app.php

<IfModule mod_rewrite.c>
    RewriteEngine On

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

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

    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule .? - [L]

    # Rewrite all other queries to the front controller.
    RewriteRule .? %{ENV:BASE}/app.php [L]
</IfModule>

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

我找不到任何可以删除/web/app_dev.php部分的解决方案。

2 个答案:

答案 0 :(得分:4)

你有没有理由想用.htaccess做这件事?你可以只使用符号链接? 您所要做的就是重命名该组合文件夹并创建映射到Web文件夹的符号链接。然后在.htaccess中更改

 DirectoryIndex app.php

 DirectoryIndex app_dev.php

然后清除缓存:php app/console cache:clear

答案 1 :(得分:1)

是否适用于 app.php ?如果是这样,只需将 app_dev.php 替换为 app.php