2016-11-16 110 views
0

我有一个问题,因为一些日子,我觉得很难解决:(重定向阿帕奇(2.2)

我用的GitWeb通过http展示我的Git项目的内容。不过,我不希望出现这种情况任何人都可以访问所有项目的根文件夹

我HTTPS服务器的UI让事实在访问权限方面指向每个项目:

的/ var/lib中/ gitroot /混帐模块TEST1 - > https // server.org/gitweb /?p = git-module-test1; a = summary
/var/lib/gitroot/git-module-test2 - > https // server.org/gitweb/p = GIT-MOD ULE-TEST 2; A =总结
等等

所以我想避免的https // server.org/GitWeb里的接入/

这里是/etc/apache2/conf.d的配置/gitweb.conf

Alias /gitweb /usr/share/gitweb 

#RewriteEngine on 
#RewriteRule ^/gitweb/$/[L] # Is not working 
#RewriteRule ^/gitweb$/[L] # Is not working 

Redirect "/gitweb/$" "https//server.org" # Does not redirect anything !! 
#Redirect "/gitweb/" "https//server.org" # Redirect all ! 

<Directory /usr/share/gitweb> 
    Options FollowSymLinks +ExecCGI 
    AddHandler cgi-script .cgi 
</Directory> 

请,我该怎么办????

回答

0

重定向重定向所有,并没有考虑正则表达式,如果你想有一个特定的URL重定向,而不是它的子目录或其他任何您使用RedirectMatch与像

RedirectMatch ^/gitweb/$ https//server.org/ 

^<锚 - 标志着beggining匹配的字符串
$ < - 标记匹配字符串的末尾