我已经为此绞尽脑汁好几个小时了。请帮帮我。
几个月来,我一直在本地主机上运行多个网站,没有任何问题。不幸的是,由于磁盘损坏,上周我不得不重新安装 Windows。现在我发现,当我尝试访问任何菜单链接时,都会收到可怕的“请求的 URL /stellar/about-us/ 未在此服务器上找到”的消息。主页运行正常……但菜单链接不起作用。
我已将 httpd.conf 更改为如下形式: LoadModule rewrite_module modules/mod_rewrite.so
.htaccess 也很好。复制如下
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /stellar/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ./stellar/index.php [L]
</IfModule>
# END WordPress
我错过了什么?请帮忙!!!
答案1
您的 htaccess 文件必须位于该/stellar/
文件夹中。假设它位于其中,则最后一条规则存在错误:
RewriteRule ./stellar/index.php [L]
.
您在和之间缺少一个空格/
:
RewriteRule . /stellar/index.php [L]
/stellar/
并且由于重写基础,您根本不需要该部分:
RewriteRule . index.php [L]
答案2
@user3234280 一切都很好,如果你有和我一样的情况,那么你应该不会遇到任何问题!
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wp_home/
RewriteRule ^Pattern /wp_home/Substitution [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp_home/index.php [L]
</IfModule>
其中 /wp_home/ 是 WordPress 的主目录(如果 WordPress 安装在您的 Web 根目录中,则为根 URL /。)
如果您需要更多帮助,请查看http://codex.wordpress.org/Class_Reference/WP_Rewrite
确保你的 html 或 php 中也包含了这个内容
<?php
$wp_rewrite->non_wp_rules = array( 'Pattern' => 'Substitution' );
print_r($wp_rewrite->mod_rewrite_rules());
?>