2009-08-05 49 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