cel*_*orb 14 apache rewrite symfony
我的web目录中有以下.htaccess文件用于我的Symfony2安装:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) app.php [QSA,L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试一些基本的东西,比如:
(whatever)/web/app.php/place
Run Code Online (Sandbox Code Playgroud)
它不会从URL中删除app.php.我是Apache的新手,我不确定这里发生了什么,有人可以解释一下吗?提前致谢!
编辑:由于我正在使用的Web应用程序的结构我无法移动web文件夹之外的app.php或app_dev.php,也无论如何我也无法修改Apache的服务器配置,因此我正在寻找替代解决方案这个问题.
Pat*_*awa 25
您必须在Apache中启用重写模块,如"IfModule mod_rewrite.c"所述.
为此:
见http://www.lavluda.com/2007/07/15/how-to-enable-mod_rewrite-in-apache22-debian/.
Eln*_*mov 21
该重写规则并不意味着app.php从URL中删除.如果请求URL与真实文件不对应,它的目的是app.php用于每个请求.由于它是一个真实的文件,它将用于提供请求.app.php
如果你想摆脱web/app.php部分,首先创建一个指向该web文件夹的虚拟主机:
<VirtualHost *:80>
ServerName whatever
DocumentRoot /path/to/project/web
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
这将删除该web部分.
然后,要删除该app.php部分,请将其添加到web/.htaccess文件的开头:
RedirectMatch permanent ^/app\.php/(.*) /$1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42318 次 |
| 最近记录: |