我的所有网站的根目录中都有一个.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重写指令?我可以在root中的robots.txt文件中包含这些说明吗?或者还有另一种方法吗?
答案 0 :(得分:1)
如果您的文档根目录为/var/www/my-site/
,并且您希望在/var/www/my-site/blog
中使用wordpress,则需要执行以下操作:
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 URL
设置为http://www.example.com/blog
,将Site URL
设置为http://www.example.com