【发布时间】:2014-01-09 21:30:59
【问题描述】:
我正在尝试编写可以转换的 htaccess 文件
到
http://my-tld.com/file.php?var=subdomain
注意 tld 中的连字符
这是我正在使用的 htaccess
Options +FollowSymLinks
Options -Indexes
RewriteEngine On
# Rewrite sub domains.
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} !^www\.my-tld\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.my-tld\.com$ [NC]
RewriteRule ^(.*)$ /file.php?var=%2 [QSA,L]
实际上,我在同一台服务器上的另一个域中使用了相同的代码,它运行良好,但不适用于这个域,我猜问题出在这个域中的连字符..
有什么建议吗?
【问题讨论】:
-
您是否尝试过转义连字符,如
my\-tld? -
@neokio 是,但没有运气
-
-无关紧要,它们只有在[和]括号内才有特殊含义。 -
@JonLin 那么你将如何编写实现此目的的代码?
-
如果我访问“blahblah.my-tld.com”,这些规则在我的空白 htaccess 文件中可以正常工作
标签: php apache .htaccess tld hyphen