我使用lunarpages进行托管,并且可以添加多个网站。当我添加新网站时,它会在我当前网站所在的位置创建一个目录
即我的网站是jeffkilroy.com,如果我为hello.com创建域名,它现在也存在于jeffkilroy.com/hello
这很好,除了我想组织它好一点,以便网站目录不与我的jeffkilroy.com文件混合
如果我将所有jeffkilroy.com网站文件放在名为“main”的内容中,是否可以在htaccess中放置一些内容:
jeffkilroy.com/home真的去了jeffkilroy.com/main/home
但仍然可以从根(其他网站)轻松访问我的东西: jeffkilroy.com/hello
答案 0 :(得分:1)
此解决方案完全取决于您的根目录(对于其他网站)没有与主站点中的文件夹名称相同的文件夹,但由于您仍希望能够访问其他站点的文件夹,根,没有太多办法。
无论如何,这似乎有效:
RewriteEngine On
# Let's prevent them from being able to go to our /main path manually
RewriteCond %{THE_REQUEST} ^(POST|GET)\s/main
RewriteRule ^main/?(.*)$ http://jeffkilroy.com/$1 [R,L]
# Redirect stuff to /main/ if it isn't pointing to something else, or
# if it's just pointing to the primary root
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^.*$ /main/$0
RewriteCond %{REQUEST_URI} !-f
RewriteCond /main%{REQUEST_URI} -f
RewriteRule ^.*$ /main/$0
RewriteCond %{REQUEST_URI} !-d
RewriteCond /main%{REQUEST_URI} -d
RewriteRule ^.*$ /main/$0 [L]
好奇的旁注:能够通过使用RewriteCond
标志来压缩[OR]
语句会很好,但是没有运算符优先级,所以它只是从顶部到顶部进行评估底部,这在这里不起作用。