如何使用.htacces重定向路由


how to redirect routing with .htacces

我的问题是我买了一个糟糕的主机,现在我无法设置自己的配置。我需要通过.htaccess文件来完成。以下是我设法做到的:

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,如果有人知道怎么做的话?

我曾经在共享托管服务上安装过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>

在/web/.htaccess中我写道:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>

仅此而已。。。

也许是PHP头函数?

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

PHP:头