【发布时间】:2015-12-05 11:40:29
【问题描述】:
我正在查看我的代码 3 小时,但我不明白。我希望你能帮助我。
我有一个安装了自定义帖子类型和高级自定义字段的 wordpress 博客。它的工作非常好。我对自定义字段使用基本过滤功能,如下所述:http://www.advancedcustomfields.com/resources/creating-wp-archive-custom-field-filter/
为了过滤自定义字段,我使用 url 中的 get-parameters。所以 url 的格式如下:
www.domain.tld/?post_type=movie&land=usa&typ=love&actor=kidman
现在我希望表单中有一个漂亮的网址:
www.domain.tld/movie/usa/love/kidman
问题来了,我无法正确获取 .htaccess :(
我的代码是:
AddHandler php56-cgi .php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^movie/(.*)/(.*)/(.*)$ /?post_type=movie&land=$1&typ=$2&actor=$3 [L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
它不工作。结果是 404。我相信这是我不明白的“wordpress-thing”。
如果我将代码更改为:
RewriteRule ^movie/(.*)/(.*)/(.*)$ http://www.domain.tld/?post_type=movie&land=$1&typ=$2&actor=$3 [L]
它作为一个正常的重定向工作。
如果我把它改成
RewriteRule ^movie/(.*)/(.*)/(.*)$ file.php/?post_type=movie&land=$1&typ=$2&actor=$3 [L]
file.php 是一个非 wordpress 文件,它也可以工作(它显示了 file.php 的内容)
似乎我无法“调用”像 index.php 这样的 wordpress 特定文件。
我希望你能帮助我,感谢你阅读我的非母语英语;)
来自德国的问候 多米尼克
【问题讨论】:
标签: php wordpress apache .htaccess mod-rewrite