我最近部署了一个symfony项目,并注意到我目前可以访问该项目的唯一方法是使用以下URL:
http://domain.com/app.php/index
我想知道是否有办法自动获取app.php
,而不将其实际包含在网址中。
类似的东西:
http://domain.com/index
不确定是否需要htaccess
,或者这是否可以直接使用Symfony完成。
这就是我的htaccess目前的样子:
DirectoryIndex app.php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /app.php/ [QSA,L]
</IfModule>
我感谢任何建议,提前谢谢!
答案 0 :(得分:0)
这是(有效)我在使用Symfony 2的几个项目和网站上使用的.htaccess
文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
我在Apache服务器下的一个Symfony项目中也有以下vhost
条目:
<VirtualHost *>
ServerAdmin admin@localhost
DocumentRoot "<PATH_TO_PROJECT>/web"
ServerName localhost
ServerAlias localhost
ErrorLog "<PATH_TO_PROJECT>/app/logs/apache_error.log"
ErrorLogFormat "[%t] [%l] [pid %P] thread-%T %F: %E: [client %a] %M"
<Directory "<PATH_TO_PROJECT>/web">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
在DirectoryIndex app.php
文件中省略.htaccess
索引可能就足够了,所以你可以尝试一下。不可否认,我对Apache配置的了解比我想要的要弱,希望这有助于,如果没有 - 希望有一个可以给你一个更好,更强的答案?
祝你好运!