簡體   English   中英

修改wordpress htaccess以將某些URL轉發到子目錄

[英]Modifying wordpress htaccess to forward certain urls to subdirectory

無論出於何種原因或我無法確定的其他原因,我的公司都決定將wordpress用於其網站之一。 他們要求我在同一個域上構建一個聯屬網絡營銷應用程序。 除以下兩難之外,一切工作都很好:

wordpress安裝在根目錄中。 所有頁面,視頻,銷售等均來自Wordpress頁面。

會員應用程序位於子目錄/ aff /中,而會員的頁面位於mydomain.com/aff/index.php?aff=affiliateusername中

會員(及其潛在客戶)應該只需輸入www.mydomain.com/affiliateusername即可加載其頁面,但我仍在努力了解如何翻譯wordpress htaccess規則來做到這一點。

顯然,進行此工作的最佳順序是讓wordpress首先確定是否有任何與網址詞FIRST相匹配的博客/帖子/頁面,如果找不到,則將所有其他內容重定向到www.mydomain.com/ AFF /的index.php?AFF =什么

這就是我最終想出的方法,該方法適用於索引頁面和會員頁面,但是沒有正確加載除索引之外的任何wordpress頁面。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule ^(images|wp-admin|wp-content|wp-includes|go|compliance\.html)($|/) - [L]
#RewriteRule ^([^/].*)$ /aff/index.php?aff=$1 [R,L]
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

您可以告訴我,我試圖從重寫中排除某些目錄,但是沒有成功。 我已經通過Googling閱讀了其他建議,將重定向規則放在wordpress塊的前面,但是問題很少。 當我將此行放在#BEGIN WordPress行的前面時,我得到了一個無限循環的重定向循環,該循環不斷轉到/aff/index.php?aff=aff/index.php?...等(這是我使用的同一行對於不同的,無wordpress的域中的同一會員應用程序)

#RewriteRule ^([^/].*)$ http://www.mydomain.com/aff/index.php?aff=$1 [L]

我感覺好像缺少了非常明顯的東西。 我應該只是設置wordpress將所有404重定向到/aff/index.php?aff=originalrequest嗎? 我將如何去做?

提前致謝。

您使用了RewriteRule而不是RewriteCond 在WordPress規則之間添加它們肯定也會破壞您的博客。 將您的.htaccess代碼更改為:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^([^/.]+)$ /aff/index.php?aff=$1 [R=301,QSA,L]

  RewriteRule ^index\.php$ - [L]

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.php [L]
</IfModule>

如果您希望URL保留為mydomain.com/affiliate刪除[R]並僅使用[QSA,L]


我已經更新了上面的規則,以顯示如何從會員重定向中排除路徑。 下列

 RewriteCond %{REQUEST_URI} !^/blog\\b 

從重定向中排除所有指向/blog或其子目錄/blog/sub/dirs URL。


如果存在根級別的.php頁面(即使頁面很少),則可以通過將規則更改為來更輕松地處理排除

 RewriteRule ^([^/.]+)$ /aff/index.php?aff=$1 [R=301,QSA,L] 

假設. 並且/永遠不能以會員名稱出現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM