WordPress自定義URL的Rewrite規則

2022-08-02 04:27:15 字數 2671 閱讀 3810

在prugehosting上申請的乙個免費主機空間上做了乙個wordpress ,   設定 自定義鏈結結構之後居然發現所有的鏈結都失效,實現不了偽靜態,本以為是主機空間不支援 mod_rewrite,昨天問 客服他們說支援,我就開始考慮是不是.htaccess 檔案的問題,到wordpress根目錄,發現沒有這個檔案,居然沒有生成?我就自己建了乙個,並且檔案將屬以及wordpress目錄性更改為777,重新設定永久鏈結還是不出現,這就怪了,莫非要我手寫不成?沒辦法,硬著頭在.htaccess中寫了如下規則:

rewriteengine on

rewritecond % !-f

rewritecond % !-d

rewriterule ^(about|contact|links|archive)$ index.php?pagename=$1

rewriterule ^page/([0-9]) index/.php/?page=$1

rewriterule ^search/([^/]+) index.php?s=$1&page=$2

rewriterule ^search/([^/]+)/page/([0-9]) index.php?s=$1

rewriterule ^tag/([^/]+) index.php?tag=$1

rewriterule ^tag/([^/]+)/page/([0-9]) index.php?tag=$1&page=$2

rewriterule ^category/([^/]+) index.php?category_name=$1

rewriterule ^category/([^/]+)/page/([0-9]) index.php?category_name=$1&page=$2

rewriterule ^author/([^/]+) index.php?author_name=$1

rewriterule ^author/([^/]+)/page/([0-9]) index.php?author_name=$1&page=$2

# 我將永久鏈結設定為: /%year%/%monthnum%/%postname%/.html

rewriterule ^([0-9])/([0-9])/([^/]+)/.html$ index.php?year=$1&monthnum=$2&name=$3

rewriterule ^([0-9])/([0-9])            index.php?year=$1&monthnum=$2&page=$3

rewriterule ^([0-9])/([0-9])/page/([0-9])     index.php?year=$1&monthnum=$2&page=$3

rewriterule ^category/(.*)/(feed|rdf|rss|rss2|atom)/?$ wp-feed.php?category_name=$1&feed=$2

rewriterule ^author/(.*)/(feed|rdf|rss|rss2|atom)/?$ wp-feed.php?author_name=$1&feed=$2

rewriterule ^rss.xml wp-feed.php/?feed=rss2

rewriterule ^feed/?$ wp-feed.php/?feed=rss2

rewriterule ^comments/feed/?$ wp-feed.php/?feed=comments-rss2

indexignore .htaccess */.??* *~ *# */header* */readme* */_vti*

期間經過了n次的測試於修改,終於測試沒有問題。本來應該是wordpress應該生成的東西,居然還要自己手寫,很不爽。

同樣,在discuz中,實現偽靜態,需要在discuz的目錄下的.htacces加入這樣的規則:

rewriteengine on

rewritecond % !-f

rewritecond % !-d

rewriterule ^archiver/([a-z0-9/-]+/.html)$ archiver/index.php?$1

rewriterule ^forum-([0-9]+)-([0-9]+)/.html$ forumdisplay.php?fid=$1&page=$2

rewriterule ^thread-([0-9]+)-([0-9]+)-([0-9]+)/.html$ viewthread.php?tid=$1&extra=page/%3d$3&page=$2

rewriterule ^profile-(username|uid)-(.+)/.html$ viewpro.php?$1=$2

rewriterule ^space-(username|uid)-(.+)/.html$ space.php?$1=$2

rewriterule ^tag-(.+)/.html$ tag.php?name=$1

在uchome中可以這樣實現:

rewriteengine on

rewritebase /

rewriterule

^(space|network)/-(.+)/.html$ $1.php?rewrite=$2 [l]

rewriterule

^(space|network)/.html$ $1.php [l]

rewriterule ^([0-9]+)$ space.php?uid=$1

[l]

WordPress自定義URL的Rewrite規則

在prugehosting上申請的乙個免費主機空間上做了乙個wordpress 設定 自定義鏈結結構之後居然發現所有的鏈結都失效,實現不了偽靜態,本以為是主機空間不支援 mod rewrite,昨天問 客服他們說支援,我就開始考慮是不是.htaccess 檔案的問題,到wordpress根目錄,發現...

wordpress 新增自定義頁面

url wordpress是乙個優秀的平台,可以寫blog,現在有往cms方向發展的趨勢 wordpress使用者在使用的過程中,有時候會希望要新增新的頁面,而且是非常靈活的,比如完全自定義,同時需要的地方可以顯示模板的各個部分,比如選單 tag等 這時候,可以使用wordpress的頁面模板的功能...

用WP Query自定義WordPress 主迴圈

我們知道操作 wordpress 主迴圈 wordpress loop 最容易的方法是使用 query posts 函式。但是使用 query posts 直接修改 wordpress 預設的主迴圈,會有以下的問題 會干擾那些用到了 wordpress 迴圈的外掛程式。可能使一些 wordpress...