2011-10-10 27 views
1

我現在htaccess的是這樣的:htaccess的不正常

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www\.)?site\.com [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/\.]+)/?$ index.php?page=$1 
RewriteRule ^([^/\.]+)/([^/\.]+)?$ index.php?page=$1&subsectie=$2 
RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)?$ index.php?page=$1&subsectie=$2&subid=$3 

我編輯的htaccess文件。它應該只使用這個htaccess的主域名,而不是子域名,但子域​​名仍然使用這個htaccess。

任何有比我更多經驗的人都可以指出我朝着正確的方向走?提前致謝。

編輯: 這是我目前(和工作)的htaccess:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC] 
RewriteRule ^([^/\.]+)/?$ index.php?page=$1 
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC] 
RewriteRule ^([^/\.]+)/([^/\.]+)?$ index.php?page=$1&subsectie=$2 
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC] 
RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)?$ index.php?page=$1&subsectie=$2&subid=$3 

回答

6

試試這個:

RewriteEngine On 

# first, remove redirect to www by default if no subdomain 
RewriteCond %{HTTP_HOST} ^domain.com [NC] 
RewriteRule (.*) http://www.domain.com/$1 [R=301,L] 

RewriteCond %{HTTP_HOST} ^www\.domain\.com [NC] 
RewriteRule ^([^/\.]+)/?$ index.php?page=$1 [NC,L] 
RewriteCond %{HTTP_HOST} ^www\.domain\.com [NC] 
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ index.php?page=$1&subsectie=$2 [NC,L] 
RewriteCond %{HTTP_HOST} ^www\.domain\.com [NC] 
RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)/?$ index.php?page=$1&subsectie=$2&subid=$3 [NC,L] 
+0

謝謝!加工!不知道你每次都必須重新定義重寫條件。我用我正在使用的htaccess編輯我的帖子。 – Devator

+0

不客氣。同時將domain.com重定向到www.domain.com將刪除很好的重複項目! –