所以我有我的htaccess文件设置,它看起来像这样:
Options +FollowSymLinks RewriteEngine on RewriteBase / # MAGIC RewriteCond $1 !/$ RewriteCond $1 !\. RewriteRule ^(.+)$ /$1/ [R=301,L] # //MAGIC RewriteCond %{HTTP_HOST} !^www\. RewriteCond %{HTTP_HOST} ^([a-z0-9][-a-z0-9]+)\.domain\.com RewriteCond %{REQUEST_URI} !^/subdomains/ RewriteRule ^(.*)$ /subdomains/%1/$1 [P,NC,QSA]
我工作得很好,很好地指导phpmyadmin.domain.com到phpmyadmin.domain.com/subdomains/phpmyadmin/
但我认为这是相当丑陋的,这表明在url。 所以我希望它静静地redirect,所以它仍然指向phpmyadmin.domain.com/subdomains/phpmyadmin/,但客户端只能看到phpmyadmin.domain.com
我一直在环顾四周,但我找不到像我想要的那样工作的任何东西。 有没有人有一个想法如何解决这个问题?
你工作太辛苦了 尝试使用带有variables的VirtualDocumentRoot 。 %1将使用域的第一部分,或%-3将使用倒数第三部分(两者对于您的情况都是相同的)。 你需要启用模块mod_vhost_alias才能工作。
<VirtualHost *:80> VirtualDocumentRoot /var/www/%1 ServerName www.domain.com ServerAlias *.domain.com </VirtualHost>