2011-12-15 108 views
1

說我有一個網站mysite.com,這是一個WordPress的網站。htaccess重寫用戶漂亮的網址來執行查詢

我已經有以下重寫規則刪除的index.php:

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

如果我去mysite.com/?blog_type=a-blog-type我得到正確的頁面僅爲博客那種類型

我想要的是,用戶能夠輸入mysite.com/blogs/a-blog-type/並且已經實施了查詢,但繼續顯示/ blogs/a-博客類型/

我已經看過很多類似的答案在這裏,但大多數似乎使它只是紅色從查詢中獲得了相關信息,以及我不想要的漂亮url,因爲漂亮的url只會導致404錯誤,因爲它不會執行查詢。

感謝您的幫助。

回答

1

此重寫規則將取任何mysite.com/blogs/a-blog-type/ URL並將其重寫爲mysite.com/?blog_type=a-blog-type。因此mysite.com/blogs/a-blog-type/會顯示給用戶,但會加載mysite.com/?blog_type=a-blog-type

RewriteRule ^blogs/([^/]*)((/)?)$ ?blog_type=$1 [nc,l] 

編輯:因此,這裏是你的配置如何現在看起來:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^blogs/([^/]*)((/)?)$ ?blog_type=$1 [nc,l] 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
+0

現在做我把這個裏面?或者在我已經擁有的那個之後再做? – HickTrick 2011-12-15 19:29:20