2010-03-12 64 views
13

我在同一臺服務器上有一個域名和一個wordpress博客。現在我有一個問題(驚喜)。 wordpress位於/ httpdocs/blog /,域指向/ httpdocs /,我試圖將其重定向到/ httpdocs/domain /。但是,很明顯,我在WordPress中有永久鏈接。許多RewriteBase在一個.htaccess文件中?

這裏是我當前的.htaccess:

RewriteEngine On 

RewriteBase /blog/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /blog/index.php [L] 

RewriteBase/
RewriteCond %{HTTP_HOST} domain.com 
RewriteCond %{REQUEST_URI} !^/domain 
RewriteCond %{REQUEST_URI} !^/cgi-bin 
RewriteRule ^(.*)$ domain/$1 [L] 

但是,正如你已經propably認爲,這是行不通的。 WordPress的永久鏈接影響到/域/也,所以我的圖片和其他網址出錯。

有什麼建議嗎?有沒有可能像這樣使用RewriteBase?

回答

8

不,您只能擁有一個基本網址。只需重寫你的規則:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^blog/. /blog/index.php [L] 

RewriteCond %{HTTP_HOST} =example.com 
RewriteCond %{REQUEST_URI} !^/domain 
RewriteCond %{REQUEST_URI} !^/cgi-bin 
RewriteRule ^(.*)$ domain/$1 [L] 
+1

看來最後一個'RewriteBase'指令贏得整個.htaccess文件。 – MrWhite 2013-08-14 19:30:04

+1

事實上,似乎在問題中使用「RewriteBase」的最初想法是錯誤的。無論如何,無論「RewriteBase」的值如何,您都需要將'RewriteRule'模式寫爲'^ blog/.'。 'RewriteBase'不影響與_pattern_匹配的URI,它隻影響相對_substitutions_。 – MrWhite 2013-08-14 20:12:31