我已经阅读了很多关于此的内容,但我无法使其正常工作,所以,我发布了一个问题
我有一个Symfony1
包含 2 个应用程序(前台、管理员)的项目,托管文档根目录为public_html
,因此文件夹结构如下所示:
/public_html
|--/apps/
|--/cache/
|........
|--/web/
支持团队告诉我他们不能不为我更改文档根目录,所以,我所要做的就是开始尝试,.htaccess
这就是我所做的:
RewriteEngine on
AddHandler application/x-httpd-php53 .php
RewriteBase /web/
RewriteCond %{REQUEST_URI} ^/admin.php
RewriteRule ^(.*)$ /web/admin.php/$1 [QSA,L]
RewriteRule ^(.*)$ /web/$1 [QSA,L]
这工作正常,但 symfony 生成 url /web
,因此,我创建了一个自定义类,它扩展自sfPatternRouting
,覆盖该generate
函数以返回如下内容:
public function generate($name, $params = array(), $absolute = false) {
$url = parent::generate($name, $params, $absolute);
$pattern = '/\/web\//';
return preg_replace($pattern,'/', $url);
}
这又可以了,我有漂亮的 url 并且可以正常工作,但是,当您尝试访问时,http://my.domain.com/admin.php/
我得到404 Page not found error
并且所有管理应用程序都无法正常工作,url/admin.php/services
相同的结果,总是相同的,所以,我重新创建了相同的环境在我的本地电脑中,工作正常,但在托管中它不起作用。
那么,我制作的 .htaccess 配置应该可以工作吗?我是否需要更多条件并重写规则才能按我想要的方式工作?文件夹
内的 .htaccess 会影响吗?/web
主机是 www.bluehost.com
需要帮助
谢谢