我正在使用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。我没有测试过这个。
答案 0 :(得分:1)
好吧,你的重写规则看起来不错。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
表示如果%{REQUEST_FILENAME]是物理文件或目录,则/blog/index.php将不会被服务器。
更多信息here。
您确定使用的是正确的文件路径吗?
您要请求的文件应位于/blog/include/myfile.php中。
检查你的error.log以获取任何相关消息的apache。