2016-09-06 62 views
1

我有一個WordPress網站和一個自定義網站,並將用戶從WordPress網站發送到自定義網站時,他們導航到一個特定的網址。假設主WP網站位於www.example.com。如果有人去http://example.com/p/M12345,我們想發送到https://my.example.com/myexample/members/login.html?login=M12345。我認爲最好的辦法是在.htaccess文件中使用mod_rewritemod_rewrite爲WordPress頁面似乎並不工作

我試着將它設置爲主.htaccess文件,但似乎沒有任何效果。 www.example.com上的WP網站使用了一個通常會處理這個問題的重定向插件,但上週它讓我們整個網站搞砸了,所以我不願意繼續使用它。我想使用.htaccess文件,因爲這感覺就像做正確的方法。

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteRule ^(\/p\/)([mM]\d{5})$ https://my.example.com/myexample/members/login.html?login=$2 [R=301,L] 
</IfModule> 

有幾件事情,我們曾嘗試:

  • 添加標誌,如[NC,R = 301,L],[L,QSA]等

  • 改變的重寫規則來301重定向和刪除標誌

  • 添加的RewriteCond ^(/ p /)$以爲這隻會在example.com/p/頁面出現

什麼是正確的方法來得到這個工作?

+0

決不['R = 301'](http://stackoverflow.com/a/9204355/1741542)測試! –

回答

2

導致的斜槓在.htaccess中不匹配,並且在p之前有另外的[。也沒有必要逃避/

RewriteEngine On 
RewriteRule ^p/([mM]\d{5})/?$ https://my.example.com/myexample/members/login.html?login=$1 [R=301,L] 
+1

哎呀 - 「[」是一個錯字。這不符合我的正常規則(我改變它使問題比我的實際用例更有意義)。無論如何 - 我不知道主導斜線不匹配。刪除後,一切正常。 謝謝!我討厭它,當這麼小而愚蠢的東西弄亂了你的整個一天。 – mark