0

我在所有站点的根目录中都有一个 .htaccess 文件,用于处理规范重写。.htaccess 文件的全部内容如下:

Options +Indexes
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain\.com
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=permanent,L]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.domain.com/$1/ [L,R=301]

问题是,当我在子目录 (/blog) 中安装 Wordpress 博客时,WP 博客变得无法运行。我无法登录 wp-admin 区域。我的主机告诉我这是因为根目录中的 .htaccess 文件。因此需要将其删除。

那么,如果根目录中没有 .htaccess 文件,如何实现相同的规范 URL 重写指令呢?我可以在根目录的 robots.txt 文件中包含这些说明吗?还是有另一种方法可以做到这一点?

4

1 回答 1

1

如果你记录 root/var/www/my-site/并且你想有 wordpress,/var/www/my-site/blog你需要执行以下操作:

1.) 创建一个index.php文件,内容如下/var/www/my-site

<?php
    define('WP_USE_THEMES', true);
    require('./blog/wp-blog-header.php');
?>

2.) 将以下 .htaccess 放入/var/www/my-site

# Redirect http://example.com to http://www.example.com
RewriteCond %{HTTP_HOST} ^example\.com
RewriteRule (.*) http://www.example.com/$1 [R=301,L] 

# BEGIN WordPress
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

现在您访问管理区域的方式是http://www.example.com/blog/wp-admin

然后在您的仪表板中,转到设置并设置WordPress Address URLhttp://www.example.com/blogSite URLhttp://www.example.com

于 2012-04-25T11:35:26.760 回答