mod_rewrite,将WordPress无缝地放在服务器上的sub-dir中?

时间:2009-10-25 07:04:00

标签: apache wordpress .htaccess mod-rewrite

我将WordPress用于个人博客。现在我想把它变成我的个人网站。因此,我希望网址为mysite.com而不是mysite.com/blog(例如mysite.com/2009/10/blog-entry而不是mysite.com/blog/2009/10/blog-entry

一种简单的方法是将/blog/*移至/blog。但这会使WordPress文件混乱我存储在/

中的现有文件

我做的是: - 在.htaccess

中创建/
<IfModule mod_rewrite.c>
RewriteEngine On

# Automatically send to blog when entering homepage (no requestfile supplied)
RewriteBase /
RewriteRule ^$ /blog/index.php [L]

# When inside blog, parse parse stuff
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>

# END WordPress

它解决了这个问题。但是:

  • 所有css和js以及嵌入上传的图片都不起作用,因为mod_rewrite会继续重写。
  • mysite.com/wp-admin不起作用,因为它会被重写为mysite.com/blog/index.php?...=wp-admin

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

尝试此规则:

RewriteRule !^blog(/|$) blog%{REQUEST_URI}