我使用htaccess和一组规则来控制我网站的不同页面。Htaccess子域规则
- 如果用户访问我的主网站(domain.com),而不使用万维网其301重定向到www.domain.com(搜索引擎优化的目的)
- 我使用通配符子域,因此,如果用户访问子域.domain.com,他们将查看一个特定的PHP文件,决定为他们的内容。
我的问题是我想扩展我的设置,以便能够使用相同的url名称。作为一个例子,如果我访问subdomain.domain.com/feed,我会从主域规则中看到pages/public_news_feed.php文件,因为它共享了“/ feed”规则。我真正想要的是pages/public_subdomain_blog_feed.php!
如何为domain.com和subdomain.domain.com设置特定规则?
在此先感谢您,祝您有美好的一天!
#AuthName "Restricted Area"
#AuthType Basic
#AuthUserFile /var/www/user/data/www/domain.com/.htpasswd
#require valid-user
Options +FollowSymLinks
RewriteEngine on
#force domain setup to use www
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
#redirect subdomains to controller
RewriteCond %{HTTP_HOST} !^(www\.)?domain\.com$ [NC]
RewriteRule ^$ pages/public_subdomain_blog.php [L,QSA]
RewriteCond %{REQUEST_URI} !-f
RewriteRule ^(indsend-nyhed)$ pages/public_submit_news.php [L]
RewriteRule ^(modeblogs)$ pages/public_blogs.php [L]
RewriteRule ^(nyheder)$ pages/public_news.php [L]
RewriteRule ^(feed)$ pages/public_news_feed.php [L]
RewriteRule ^(nyheder)/([0-9]*)/(.*)$ pages/public_news_single.php?n_id=$2 [L]
RewriteRule ^(kontrolpanel)$ pages/private_account.php [L,QSA]
RewriteRule ^(kontrolpanel)/(logud)$ pages/private_logout.php [L]
## THESE RULES SHOULD ONLY BE SET IF THE USERS IS ON A SUBDOMAIN
RewriteRule ^([0-9]*)/(.*)$ pages/public_subdomain_blog_article.php?p_id=$1 [L]
RewriteRule ^(kategori)/([0-9]*)$ pages/public_subdomain_blog.php?c_id=$2 [L]
RewriteRule ^(arkiv)/([0-9]*)$ pages/public_subdomain_blog.php?a_id=$2 [L]
RewriteRule ^(feed)$ pages/public_subdomain_blog_feed.php [L]
你为什么访问者重定向到WWW网址是什么? – derekerdmann 2010-08-16 12:15:05
因为到domain.com的传入链接没有为www.domain.com提供linkjuice。然而,人们选择建立他们的联系,无论有没有www,我然后保存所有linkjuice,最终转化为公关。 – Kristian 2010-08-16 12:26:42