我有一个 wordpress 博客,安装在我的域名的根目录上。
我已将另一个软件放在子目录中。
当我尝试访问子目录(http://www.blah.com/abc)我从 wordpress 收到 404 错误。
我读了一些资料,看起来我需要在下面的 rewritebase 之前有一个 rewritecond 和一个重写规则:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
但我不知道我需要什么。
G-Man
结束 WordPress
答案1
RewriteCond %{REQUEST_FILENAME} !-f
表示如果存在同名文件,则不要重写它。
RewriteCond %{REQUEST_FILENAME} !-d
表示如果存在该名称的目录,则不要重写它。
因此您的 .htaccess 应该已经全部设置好了。检查新目录的权限,确保网络服务器可以读取它(即 755 或类似权限),并对目录中的文件执行相同操作。
答案2
确实,您希望防止重写 if/abc
被请求。附加内容RewriteCond
应该是:
RewriteCond %{REQUEST_URI}!^/abc/
将其放在现有RewriteRule
行之前。这意味着请求的 URI 不应该开始使用“/abc/”来应用以下规则。