2009-08-05 37 views
1

我打算從在wordpress.com上的博客切換到在我自己的服務器上託管自己的網站上。當然,我想保留wordpress中的鏈接結構,以便在WWW中沒有鏈接到我的博客。基於日期和名稱的友好URL使用.htaccess

所以我的問題是,我怎麼得到以下友好的URL

http://example.com/yyyy/mm/dd/post-name 

映射到一些結構類似

http://example.com/index.php?page=bla-bla 

使用的.htaccess我的服務器上?

標識符bla-bla可以是一個簡單的整數ID,還是必須包含日期和名稱,這將是yyyy-mm-dd-post-name?

在此先感謝。


編輯:感謝您的快速回復。儘管我的問題有一些補充:我目前沒有使用wordpress.org,所以我沒有可以爲我生成文件的控制面板。至少我不這樣認爲。而且我也不會在我自己的服務器上使用wordpress。

回答

2

您可以根據需要進行以下工作..將其放入.htaccess文件中。

# Options +FollowSymLinks 
# RewriteEngine On 
# 
# RewriteCond %{SCRIPT_FILENAME} !-d 
# RewriteCond %{SCRIPT_FILENAME} !-f 
# 
# RewriteRule ^page/(\d+)*$ ./page.php?id=$1 

要閱讀所有的細節.. click here to read "friendly and pretty urls"

+0

謝謝。您的鏈接提醒我,如果.htaccess將所有內容重定向到index.php等控件頁面,都可以在PHP中完成。 – anderstornvig 2009-08-05 22:09:09

0

在WordPress控制面板上有一個可以激活的設置,以及隨WordPress提供的.htaccess文件,可以讓它工作。它可以讓你設置URL的任何你想要的方式。

0

WordPress擁有內置永久鏈接,並將爲您創建適當的.htaccess文件。 如果你打算在自己的域名上使用WordPress,那也是。

1

如果你的主機是一臺Linux服務器,重寫將支持開箱即用。如果您的主機是Windows服務器,則需要安裝一個重寫插件。

Windows服務器上運行赫利技術的ISAPI_Rewrite V3,它在我工作完全正常:

開機狀態下

In Helm: Home > Domains > domain_name > Website Extensions > URL Rewriting 

插件寫了我重寫正確

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .* /blog/index.php [NC,L] 
<blank line> 

改變了我的WordPress永久鏈接到自定義

/%year%/%monthnum%/%day%/%postname%/ 
+0

+1。* - > index.php。 – anderstornvig 2009-08-05 22:11:26