2011-04-19 108 views
1

這是我之前詢問的另一個問題的後續(Earlier redirect question)。我的根的.htaccess有幾個規則的格式如下:動態301重定向與Wordpress戰鬥

RewriteCond %{REQUEST_URI} ^/leadership/detail/$ 
RewriteCond %{QUERY_STRING} q=([0-9]+)$ 
RewriteRule ^(.*)$ /$1?p=%1 [L,R=301] 

但是,當我試圖補充一點:

RewriteCond %{REQUEST_URI} ^/blog/detail/$ 
RewriteCond %{QUERY_STRING} q=([0-9]+)$ 
RewriteRule ^(.*)$ /$1?p=%1 [L,R=301] 

它沒有工作。 /博客/是一個WordPress的安裝,我想在它與的.htaccess文件,該文件在/博客/具有以下衝突的:

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

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

# END WordPress 

我在哪裏可以插入(或編輯)的代碼片段#2使/blog/.htaccess文件正常工作?

回答

0

就獲得了合併的.htaccess這樣的:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 

RewriteCond %{REQUEST_URI} ^/blog/detail/$ 
RewriteCond %{QUERY_STRING} q=([0-9]+)$ [NC] 
RewriteRule ^(.*)$ /blog/$1?p=%1 [L,R=301] 

RewriteBase /blog/ 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{QUERY_STRING} !^p= [NC] 
RewriteRule . /blog/index.php [L] 
</IfModule> 

# END WordPress 
+0

感謝。 RewriteCond%{REQUEST_URI} ^/blog/detail/$ RewriteCond%{QUERY_STRING} q =([0-9] +)$ RewriteRule ^(。*)$/blog/$ 1我很需要它重定向到/博客/細節而不是/ detail/ – Keefer 2011-04-20 13:13:36

+0

很高興它爲你工作的很好。實際上,我從上面的問題中複製了那條在目標URL中沒有'/ blog /'的行。 – anubhava 2011-04-20 15:01:41

+0

是的,我的錯。我在根文件中複製了其他重定向.htaccess文件。感謝幫助。 – Keefer 2011-04-20 17:22:24