2015-05-04 77 views
0

我想爲我的WP網站添加自定義重寫規則,因此http://example.com/?u=sample-output被重寫爲http://example.com/sample-outputWP - 添加自定義重寫規則

我想添加的重寫規則是:

RewriteEngine On 
RewriteRule ^([^/]*)$ /?u=$1 [L] 

現有的重寫規則是:

RewriteEngine On 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

當我添加它,它給了我,當我訪問一個404錯誤這一頁。我猜這是因爲衝突。任何有關如何解決這個問題的建議將不勝感激。

+0

WP規則將所有內容重寫爲index.php,現在您基本上正在嘗試使用新規則做同樣的事情。你不能這樣做。它是一個查詢字符串,你正試圖重寫或什麼? –

+0

@PanamaJack目標是將查詢字符串重寫爲example.com/query-string。也許我們可以更改WP設置,以便其他頁面轉到example.com/pages/? – user2208768

+0

這是查詢字符串還是隻是一個? –

回答

0

根據你的意見,把規則放在WP規則上面,然後你可以做這樣的事情。所有將轉到查詢字符串的網址都必須使用/start/。然後確保忽略WP規則中的/start/,如下所示。

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^start/([^/]+)/?$ /?u=$1 [L] 

RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !^/start [NC] 
RewriteRule . /index.php [L] 
+0

當我添加它時,它將example.com/start/query-string重定向到example.com/query-string,這不應該發生。有任何想法嗎? – user2208768

+0

除此之外,你還有其他的htaccess文件規則嗎? –

+0

不,這就是全部 – user2208768