2014-03-06 108 views
0

我真的被困在我的.htaccess文件中,需要一些幫助:)。我有用於測試的WordPress安裝。它在一個文件夾中,我使用.htaccess去那裏。這是我目前使用的規則:重寫網址並用.htaccess刪除部分

######### Custom ######### 
RewriteEngine On 

# ignore folders 
RewriteCond %{REQUEST_URI} "/af1wp/" 
RewriteRule (.*) $1 [L] 

############### 
# only for me # 
############### 
# HOME (Senne Tijdeman) 
RewriteCond %{REMOTE_ADDR} ^###\.###\.###\.###$ 
RewriteCond %{HTTP_HOST} ^((www.)?([a-z0-9_\-]+).)?alleenf1.nl$ 
RewriteCond %{REQUEST_URI} !^/af1wp/$ 
RewriteRule ^(.*)$ /af1wp/$1 [L] 

這有效(當然我的真實IP地址),所以沒有問題。但現在我想將現有的URL重寫爲新的格式。舊的URL是這樣的:

http://alleenf1.nl/nieuws/QOgbb/raikkonen-alles-is-mogelijk-in-australi

新的URL應該是這樣的:

http://alleenf1.nl/raikkonen-alles-is-mogelijk-in-australi

我想刪除 「呼號/ QOgbb/」 的部分是並不總是相同,所以我必須使用正則表達式。但是我所嘗試的一切都沒有奏效。

我認爲這很簡單,但顯然不適合我。現在我有2個問題。

  1. 什麼是正確的RewriteRule做到這一點?
  2. 我應該把它放在哪裏。在根文件夾的.htaccess中,或WordPress安裝所在的af1wp文件夾中?

    1. 是的,URL總是用文件夾開始:

    TNX先進


    從下面poncha awnser問題。只是澄清(不清楚)「nieuws」部分總是相同的,但不是第二部分(稱之爲ID)。

  3. 我更喜歡重定向。
  4. 文件/raikkonen-alles-is-mogelijk-in-australi是WordPress中的一篇文章。該WordPress安裝目前駐留在文件夾af1wp中,但將在移動時移至根文件夾。
+0

請說清楚幾點:原始網址是否始終以兩個「文件夾」開頭?或者也許只有最後一部分(最後一個斜槓之後)很重要?另外,如果瀏覽器被*重定向*到一個新的位置,或執行子請求(原始網址保持不變)?在文檔根目錄下是否存在'/ raikkonen-alles-is-mogelijk-in-australi'文件,或者這個虛擬uri文件是否存在? – poncha

+0

^^如果您編輯問題並提供我在那裏請求的信息,而不是按照方式回覆評論,那將會更好。 – poncha

+1

@Poncha,tnx您的評論。我已經爲你更新了這個問題:-) – iSenne

回答

1

試試這個:

RewriteEngine On 
RewriteRule ^nieuws/([^/]+)/(.*) /af1wp/$1 [R=301,L,QSA] 
  1. 這隻會匹配開始的 「呼號」
  2. 現在的URL,重寫目標是/af1wp/,移動WordPress的時候將其更改爲/
  3. 當您移動wordpress時,您需要在wordpress規則中混合使用此規則,因爲它已經有自己的重寫規則 - 將此規則放在其規則之上。
  4. 這裏使用的標誌:
    • R=301 - 重定向HTTP狀態301(永久移動)。
    • L - 最後一條規則(規則停止此規則的匹配成功後,解析)
    • QSA - 查詢字符串追加(追加原始查詢字符串到重寫的請求)。
+0

謝謝你的幫助:-)。修復! – iSenne