2013-11-21 116 views
0

我的问题是我买了一个shity托管,现在我不能设置我自己的配置。 我需要通过.htaccess文件来完成。 这是我能做到:如何使用.htacces重定向路由

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ 
RewriteCond %{REQUEST_URI} !^/Project/web/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /Project/web/$1 
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ 
RewriteRule ^(/)?$ Project/web/app.php [L] 

我知道这会不会与某些网站的软件像我这样的工作。而且我还需要修改$ base_url,$ live_site或其他配置设置来完成此过程。

为了使这一切都清楚,当我进入我的领域,我从我选择的子目录开始。但是当我尝试去其他页面返回404错误。

我有一个想法如何使它发挥作用,其需求也重定向路由 因此,例如www.domain.com/page需要被重定向到www.domain.com/Project/web/page如果有人知道如何做到这一点?

回答

1

我安装了一个共享的主机服务一次symfony中。

这是我不得不做,使Symfony的工作:

公共目录

有项目的结构:我写

/app 
/src 
/vendor 
/web/.htaccess 
/.htaccess 

在/.htaccess:

SetEnv PHP_VER 5_3 
SetEnv REGISTER_GLOBALS 0 

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase /web 

    RewriteCond %{REQUEST_URI} \.(css|gif|ico|jpg|js|png|swf|txt|pdf|doc|docx|mp3|svg)$ 
    RewriteRule ^(.*)$ $1 [QSA,L] 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ web/app.php/$1 [QSA,L] 
</IfModule> 
我在网上写了:

这一切......

+0

它不是为我工作 我中有你所谓的项目 这样的'公共目录/项目多了一个文件夹中提到的结构/ ...' 和公共目录我做.htacces是这样的: 'SETENV PHP_VER 5_4 SETENV REGISTER_GLOBALS 0 RewriteEngine叙述在 RewriteBase项目/网络 的RewriteCond%{REQUEST_URI} \(CSS | GIF | ICO | JPG | JS | PNG |瑞士法郎RewriteRule ^(。*)$ $ 1 [QSA,L] RewriteCond%{REQUEST_FILENAM | | txt | pdf | doc | docx | mp3 | svg)$ E}!-f RewriteRule ^(。*)$ Project/web/app.php/$ 1 [QSA,L] ' – Vardius

+0

“它不适合我”:究竟是什么问题? – loicfavory

+0

页面:'内部服务器错误' 和日志'[Thu Nov 21 18:13:51 2013] [alert] [client 156.13.234.244] /public_html/.htaccess:RewriteBase:参数不是有效的URL' – Vardius

0

也许PHP头函数?

<?php header("Location: http://www.example.com/"); exit; ?> 

PHP: header