如何在Apache中使用.htaccess“屏蔽”url

时间:2013-01-28 18:46:17

标签: apache .htaccess

我已经玩了一段时间,但我仍然不确定这是否可行。

我想要一个网址指向我的网络服务器上的其他位置,但不要更改地址栏中的网址。

例如:

tp.test.com将访问test.com/tp/hi

以及随后的网址:

tp.test.com/foo会指向test.com/tp/hi/foo

我一直在尝试使用RewriteCond和RewriteRule来实现这一目标,并且使用RewriteRule的标志但是根本没有取得任何成功。

修改 这就是我尝试过的......

RewriteRule ^tp.test.com/blog/$ http://tp.test.com/tp/hi/$1 [r=301,L]

1 个答案:

答案 0 :(得分:0)

尝试将此添加到文档根目录中的htaccess文件:

RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/tp/hi%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}/tp/hi%{REQUEST_URI} -d [OR]
RewriteCond %{DOCUMENT_ROOT}/tp/hi%{REQUEST_URI} -l
RewriteRule ^(.*)$ /tp/hi/$1 [L]

编辑:

由于您必须明确指出您在中实际想要的内容,因此以上操作无效。

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/blog/(.*)$
RewriteCond %{DOCUMENT_ROOT}/tp/hi/%1 -f [OR]
RewriteCond %{DOCUMENT_ROOT}/tp/hi/%1 -d [OR]
RewriteCond %{DOCUMENT_ROOT}/tp/hi/%1 -l
RewriteRule ^blog/(.*)$ /tp/hi/$1 [L]