【发布时间】:2018-01-02 15:47:22
【问题描述】:
所以我已经处理了几个小时,但无法解决。 stackoverflow 上没有任何东西可以解决我的问题。问题是我的 .htaccess 中有一个重定向规则,如下所示
RewriteRule ^store-category/(.+)/?$ /wordpress/store-category/?cid=$1 [QSA,L]
当 cid 是数字时,此重定向有效,但当使用 "my-key" 之类的字符串时,它不起作用。用钥匙我必须把规则改成这个。
RewriteRule ^store-category/(.+)/?$ /wordpress/store-category/?cid=$1 [R,L]
但是我不想使用它,因为这会明显地重定向我的用户并且 url 会发生变化,这是我不想要的。谁能解释一下为什么这个东西适用于数字而不适用于字符串参数。任何帮助将不胜感激。
编辑:完成.htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteRule ^store-category/(.+)/?$ /wordpress/store-category/?cid=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>
# END WordPress
【问题讨论】:
-
这是您的 .htaccess 文件中的唯一规则吗?
-
能否请您发布 .htaccess 文件中的其他规则
-
通过查看一些看似正确的规则是不可能找到罪魁祸首的。您应该设置一个日志级别来检查发生了什么
LogLevel rewrite:trace3 -
您能否从您的指令中确认您的
.htaccess文件的位置?我认为这是在/wordpress子目录中? IE。/wordpress/.htaccess? -
Wordpress CMS 系统不适用于重写规则。为此,您需要使用 Wordpress rewrite API。
标签: php wordpress .htaccess redirect mod-rewrite