需要帮助.htaccess重写规则

时间:2009-10-12 06:51:39

标签: wordpress .htaccess mod-rewrite permalinks

我正在使用Wordpress并拥有以下pemalink /%category%/%postname%。 这为我提供了用户友好的网址,例如 http://www.example.com/something/

有了这个永久链接,我将无法直接访问php文件,例如 http://www.example.com/something/myfile.php

我需要编写一个ReWrite规则,允许我访问 /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

更新

好的,我让它运转了。

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

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

我可能还添加了RewriteCond%{REQUEST_URI}!myfile.php,它会从重写规则中排除myfile.php。我没有测试过这个。

1 个答案:

答案 0 :(得分:1)

好吧,你的重写规则看起来不错。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

表示如果%{REQUEST_FILENAME]是物理文件或目录,则/blog/index.php将不会被服务器。

更多信息here

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

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

检查你的error.log以获取任何相关消息的apache。