.htaccess重定向将子文件夹目录添加到URL

时间:2013-07-09 04:24:49

标签: php .htaccess redirect

我只会使用变量,因为我需要更多声望来发布超过2个网址。

让$ url = http://mywebsite.com

$ rurl = https://mywebsite.com/test1

我想在我的网站上添加一个htaccess重定向,这样当有人转到$ url(示例)时,他们会被重定向到$ rurl

基本上,我想将带有$ url域的“任意”网址重定向到$ rurl

我尝试在htaccess上使用普通的重定向301方法。当转到根目录/站点时,它会正确重定向,但是当我尝试转到$ url / test时,我被重定向到$ rurl / test1 / test

您会注意到,在重定向时,它会将前一个目录的子文件夹目录附加到重定向目录。我不知道为什么会这样。

4 个答案:

答案 0 :(得分:0)

我想你想要这样的东西:

RewriteEngine On
RewriteRule ^$ /test1 [L]

答案 1 :(得分:0)

您可以使用以下重定向。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteRule ^(/)?$ test1/ [L]

答案 2 :(得分:0)

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

我希望这会对你有所帮助!请将您的详细信息更改为subdir和site.com。

答案 3 :(得分:0)

Redirect命令将两个路径节点链接在一起,你最好使用mod_rewrite:

RewriteEngine On
RewriteCond %{HTTP_HOST} mywebsite\.com [NC]
RewriteRule !^/?test1 /test1 [L,R=301]