wordpress自定义重写htaccess中的规则

时间:2018-02-12 18:29:13

标签: wordpress mod-rewrite

在我的options-permalink.php中,我有一个自定义结构,如http://myexamplesite.com/%category%/%postname%.html

我的.htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

</IfModule>

所以问题是:我需要在一些指定的帖子之前使用RewriteRule。例如,如果我在浏览器中输入http://myexamplesite.com/spec1.html,我必须查看网址 http://myexamplesite.com/category1/mycustompost.html,但没有重定向到此页面。

为什么我的RewriteRule显示404错误?

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

RewriteRule ^spec1.html /category1/mycustompost.html [L,QSA]
RewriteRule ^spec2.html /category2/mycustompost2.html [L,QSA]

</IfModule>

感谢您的回答!

1 个答案:

答案 0 :(得分:0)

您可以尝试使用这种语法。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

RewriteRule ^spec1.html /category1/mycustompost.html [L,QSA]
RewriteRule ^spec2.html /category2/mycustompost2.html [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>