我使用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