更改根文件夾我有一個域名和根文件夾(糾正我,如果是這樣的錯誤術語)設置爲/
相關聯的共享託管帳戶,以便服務器上的所有文件都是公開/通過瀏覽器訪問。通過的.htaccess
我可以使用的.htaccess什麼的根文件夾更改爲類似/example.com/public/
?
更改根文件夾我有一個域名和根文件夾(糾正我,如果是這樣的錯誤術語)設置爲/
相關聯的共享託管帳戶,以便服務器上的所有文件都是公開/通過瀏覽器訪問。通過的.htaccess
我可以使用的.htaccess什麼的根文件夾更改爲類似/example.com/public/
?
如果我理解正確,下面應該工作
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ /public/$1 [L,R=301]
這將重定向不/public/
開始URL,做的所有請求。
希望有所幫助。
的DocumentRoot directive不能在.htaccess文件中設置,只在服務器配置。正如你很可能不具有的權限來修改服務器設置你的唯一的解決辦法是使用一些魔法改寫爲clmarquart already mentioned。
這是我一直用它在我的框架:
Rewritecond %{REQUEST_FILENAME} !-f
RewriteRule (.*) /example.com/public/$1 [L,NC]
RewriteCond %{REQUEST_URI} ^/$
RewriteRule !^example.com/public/(.*) /example.com/public/$1 [L,NC]
它沒有對我的工作... – 2014-09-03 22:52:25
我用BlueHost的......這對我來說是什麼在起作用: 當你在共享主機,並且有多個域名,這是很有幫助名。
您的主域設置到public_html但你的附加域裏面的public_html
子文件夾這使得它,這樣你就不必把所有的主域名的文件與混合附加域文件夾...每個域名可以在自己的文件夾中...
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?PUTYOURDOMAINNAMEHERE.com$
RewriteCond %{REQUEST_URI} !^/PUTYOURFOLDERHERE/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /PUTYOURFOLDERHERE/$1
RewriteCond %{HTTP_HOST} ^(www.)?PUTYOURDOMAINNAMEHERE.com$
RewriteRule ^(/)?$ PUTYOURFOLDERHERE/ [L]
Options +SymLinksIfOwnerMatch
謝謝,@clmarquart!如果我們需要保持'/ example.com /'去'/ example.com/index.html'或'/ example.com/index.php'? – moey 2011-11-14 16:12:11
在RewriteCond之前添加RewriteBase /也很有好處。特別是如果您使用VirtualDocumentRoot指令。 – zmonteca 2013-03-28 17:51:16
謝謝它幫助... – 2014-09-03 22:51:24