2011-11-10 43 views
0

我有一個WordPress的網絡設置,但目前只有一個子網站的URLWordPress的網絡的.htaccess問題

/心理學

在未來將會有另外的網站與

/MD /獸醫

但暫時只會有/心理學

我想要做的是有一個重寫規則在我的htaccess中,當用戶訪問網站的根(/)時,它實際上加載了/心理學網站。

我嘗試添加這樣一行到我的htaccess

重寫規則1(。*)心理學/ $ [R,L]

,但它打破了現場。這裏是我當前的htaccess(基本上是網絡安裝的默認字符)

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
Options +FollowSymlinks 
RewriteEngine On 
RewriteBase /ASKanALLY/ 
RewriteRule ^index\.php$ - [L] 

# uploaded files 
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L] 

# add a trailing slash to /wp-admin 
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L] 


RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 
RewriteRule ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L] 
RewriteRule ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L] 
RewriteRule . index.php [L] 
</IfModule> 

# END WordPress 

任何想法?

回答

0

您需要底座添加到重寫規則目的地。並添加一個條件,所以你不會得到一個重定向循環。

RewriteRule^- [L]後添加上述兩行應該工作:

RewriteCond %{REQUEST_URI} !^/ASKanALLY/psychology ## Not already viewing a psychology URL 
RewriteRule ^(.*)$ /ASKanALLY/psychology/$1 [R,L] ## Redirect to psychology 

下面是完整的例子:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
Options +FollowSymlinks 
RewriteEngine On 
RewriteBase /ASKanALLY/ 
RewriteRule ^index\.php$ - [L] 

# uploaded files 
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L] 

# add a trailing slash to /wp-admin 
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L] 


RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 

RewriteCond %{REQUEST_URI} !^/ASKanALLY/psychology ## Not already viewing a psychology URL 
RewriteRule ^(.*)$ /ASKanALLY/psychology/$1 [R,L] ## Redirect to psychology 

RewriteRule ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L] 
RewriteRule ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L] 
RewriteRule . index.php [L] 
</IfModule> 
+0

這太近了!重定向工作,但我的樣式表或圖像都沒有工作。當我將它們的網址粘貼到我的瀏覽器時,它會在重定向循環中顯示它。 http://localhost/ASKanALLY/psychology/wp-content/themes/twentyeleven/images/headers/shore.jpg –

+0

檢查文件/目錄是否存在('-f'和' - - d'標誌)。我已經用完整的例子更新了答案。 – Nathan

+0

Nathan這是非常接近的,當我嘗試使用你的.htaccess代碼時,我得到一個500錯誤。 –

0

你的RewriteRule沒有工作,因爲它匹配所有的網址,包括/psychology/foo。我猜你的心理沒有.htaccess文件?

試試這個 - 它會重寫只是根。

RewriteRule ^/$ psychology/ [r=301,L]

+0

我在本地主機上運行此,所以我的博客的根源是 的http://本地主機/ ASKanALLY/ 我試圖把這條規則放在我的htaccess的頂部,在RewriteBase/ASKanALLY /之後,它沒有做任何事情...... –