【发布时间】:2014-07-29 15:08:52
【问题描述】:
我在一个每个用户都有自己的子域的站点中工作。 而且我需要该用户只能看到一些图像,具体取决于子域名。 例如: user1.domain.com 应该在文件夹 root/images/user1/ 中获取图像 和 user2.domain.com 应该在文件夹 root/images/user2/ 中获取图像
我使用类似这样的:
# For security reasons, Option followsymlinks cannot be overridden.
#Options +FollowSymLinks -MultiViews
Options +SymLinksIfOwnerMatch -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^temp\.domain\.com$ [NC]
RewriteRule ^$ /logo-base.png [L]
RewriteCond %{DOCUMENT_ROOT}/access_temp_files/$1 -f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /access_temp_files/$1 [L]
RewriteCond %{DOCUMENT_ROOT}/access_temp_files/$1 !-f
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /pic-base.png [L]
在这种情况下,当 url 为 temp.domain.com/image.png 时,它会在 root/access_temp_files/image.png 获取图像,如果不存在,则在 root/ 处打印 pic-base.png
所以我需要同样的东西,但我需要获取子域名 并在不同的地方使用它,例如替换“temp”和“access_temp_files”,如下所示:
# replacing "temp" with subdomain name in: RewriteCond %{HTTP_HOST} ^temp\.domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(subdomainname)\.domain\.com$ [NC]
# replacing "access_temp_files" with subdomain name in: RewriteCond %{DOCUMENT_ROOT}/access_temp_files/$1 -f
RewriteCond %{DOCUMENT_ROOT}/(subdomainname)/$1 -f
如何在 .htaccess 文件中获取子域名?
我希望这不会太混乱而难以理解:)
谢谢。
【问题讨论】:
标签: .htaccess