DEV环境下的Symfony2项目。
我的Symfony文件夹(名为投资组合)位于此文件夹中:/home/araymond/public_html/portfolio
假设我有这个网址:http://www.example.com/~araymond/portfolio/web/app_dev.php/home
从网址中删除/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
部分的解决方案。
答案 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