2009-11-18 123 views
0

这是一个非常愚蠢的问题,但我在htaccess中相当薄弱。.htaccess重定向到一个目录

我想位于http://localhost/template/的所有文件(PHP,CSS,JavaScript和图像)*指向http://localhost/ *与位于http://localhost/tempalte/404.php

我差点在这里一个404错误处理一起,但是当我改变

RewriteRule ^(.*)\.(css|php|js|png|gif) template/$1 [NC,L] to 
RewriteRule ^(.*)\.(css|php|js|png|gif) template/$1.$2 [NC,L] 

我得到一个内部服务器错误。

# BEGIN website 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^(.*)\.(css|php|js|png|gif) template/$1 [NC,L] 
</IfModule> 

Options -Indexes 
# END website 

回答

1

编辑,以反映的意见,试试这个:

# BEGIN website 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} -f 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^(.*\.(css|php|js|png|gif)) template/$1 [NC,L] 
</IfModule> 

Options -Indexes 
# END website 
+0

喜DAV,它似乎没有工作,我得到这个 请求的URL /login.php此服务器上找到。 – 2009-11-18 07:24:22

+0

你在浏览器中输入什么URL,以及你期望它加载的服务器上有什么路径? – Amber 2009-11-18 07:47:45

+0

让我澄清一下我想在这里确定的内容。通常当一个人说你想让A指向B时,它意味着*实际上存在于B上的事物,并且A仅仅是一个实际上在B上的东西的链接。在上面的回答中,我遵循你指定的话语(你希望包含/ template /的URL指向*根目录中存在的*)。然而,从你的例子来判断,我想知道你的意思是你想让根目录中的URL指向* /存在于* /目录中的东西吗? – Amber 2009-11-18 07:52:52