繁体   English   中英

如何使用.htacces重定向路由

[英]how to redirect routing with .htacces

我的问题是我买了一个shity主机,现在我无法设置自己的配置。 我需要通过.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:标头

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM