2013-01-12 80 views
0

/播客/ WP/是一個文件夾,其他一切都已經被RewriteEngine敘述生成的虛擬目錄。這裏是由WordPress提供的代碼:的.htaccess重定向某些虛擬目錄

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /podcast/wp/ 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /podcast/wp/index.php [L] 
</IfModule> 

我想重定向WP/目錄中的所有請求(除了現有的文件夾)

排除下可能的路徑(也虛目錄):

/podcast/wp/ANYSTRING1/ANYSTRING2/feed 

到另一個域:

example.com 

使用。htaccess而排除路徑保持工作原樣。 目標是「隱藏」(重定向)整個WordPress博客,除了提要。

感謝您的幫助!

回答

1

更改WordPress的產生規則:

RewriteEngine On 
RewriteBase /podcast/wp/ 

# new stuff 
RewriteCond %{REQUEST_URI} ![^/]+/[^/]+/feed$ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ http://example.com/ [L,R] 

# original wordpress stuff 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /podcast/wp/index.php [L] 

根據您希望如何處理重定向,你可以調整一個重定向到http://example.com/規則。如果你想301個永久重定向,添加301

RewriteRule ^(.*)$ http://example.com/ [L,R=301] 

如果你想保持相對URI的重定向,使用反向引用:如果要保留整個URI

RewriteRule ^(.*)$ http://example.com/$1 [L,R] 

(包括/podcast/wp/部分,使用URI:

RewriteRule ^(.*)$ http://example.com%{REQUEST_URI} [L,R]