Wordpress 需要有关.htaccess重写规则的帮助吗

Wordpress 需要有关.htaccess重写规则的帮助吗,wordpress,.htaccess,mod-rewrite,permalinks,Wordpress,.htaccess,Mod Rewrite,Permalinks,我正在使用Wordpress,有以下pemalink/%category%/%postname%。 这给了我用户友好的URL,比如 有了这个永久链接,我将无法直接访问php文件,例如 我需要编写一个重写规则,允许我访问/include/myfile.php。 能帮我点忙吗?:) 这是我当前的.htaccess文件: # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /myblogdirect

我正在使用Wordpress,有以下pemalink
/%category%/%postname%
。 这给了我用户友好的URL,比如

有了这个永久链接,我将无法直接访问php文件,例如

我需要编写一个重写规则,允许我访问/include/myfile.php。 能帮我点忙吗?:)

这是我当前的.htaccess文件:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /myblogdirectory/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /myblogdirectory/index.php [L]
</IfModule>
# END WordPress
#开始WordPress
重新启动发动机
重写base/myblogdirectory/
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/myblogdirectory/index.php[L]
#结束WordPress
更新

好的,我让它工作了

我从一开始就做错了。我使用的是“虚拟”路径,而不是物理路径

我必须使用/wp content/themes/myteme/include/myfile.php而不是/mysite/includes/myfile.php


我可能还添加了RewriteCond%{REQUEST_URI}!myfile.php,这将从重写规则中排除myfile.php。不过,我还没有对此进行测试。

嗯,您的重写规则看起来不错

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
这意味着如果%{REQUEST_FILENAME]是物理文件或目录,则不会对/blog/index.php进行服务器设置

更多信息

您确定使用了正确的文件路径吗

要请求的文件应位于/blog/include/myfile.php中


检查您的error.log for apache以查看任何相关消息。

但它没有说“这些规则的基础是/myblogdirectory/”。如果请求了whatever.php文件,请将请求转发到/myblogdirectory/index.php?(我已将代码更新为。)附:这是一篇关于理解Wordpress Permalinks的好文章:尝试使用mod_rewrite的日志进行一些调试(请参阅RewriteLogLevel)。完成。根据日志更新了上面的文本,
/include
不是目录。或者是吗?/include/是目录,是的。我发现了问题(上面的回答).I在深入研究之后还发现,我可能可以使用RewriteCond%{REQUEST_URI}!myfile.php将该文件从重写规则中排除。