我有一个本地Wordpress网站存储在localhost/wpdeal/
中,它运行良好,以下是它的根.htaccess
文件的内容:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wpdeal/
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wpdeal/index.php [L]
</IfModule>
# END WordPress
当我将网站移动到带有"mydomain.com"
的在线主机(GoDaddy Windows Parallels Plesk)上,并相应地将.htaccess文件更改为:
Options +FollowSymLinks -Multiviews
RewriteEngine on
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
当我尝试访问除主页之外的网站页面时,我得到了404 error
。我的新.htaccess
文件有问题吗?我错过了什么吗?我已经为这个问题挣扎了好几个小时了,所以任何帮助都将不胜感激!
更新:我添加了一个PHP脚本,用于检查服务器是否启用了mod_rewrite:
<?php
if(!empty($_SERVER['HTTP_MOD_REWRITE'])){
echo "Mod_Rewrite is running";
} else {
echo "Mod Rewrite is not running";
}
?>
响应为:"Mod Rewrite未运行"。
Parallels Plesk for Windows仅支持Microsoft Internet Information Services(IIS),因此您需要在httpdocs中创建具有类似文章内容的web.confighttp://www.iis.net/learn/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress
搜索和替换确实是最好的方法,不要手动编辑htaccess文件。