我正在使用WordPress的固定链接结构%category%/%postname%/以及以下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>
网址采用http://www.example.com/category/postname/格式。我有一个插件,如果您将?m=gallery
附加到网址,它会将您带到帖子的图库。所以http://www.example.com/category/postname/?m=gallery
将您带到画廊。我希望能够使用http://www.example.com/category/postname/gallery/
代替。我需要在htaccss中修改什么来达到我想要的效果?我想这会是这样的RewriteRule ^(.+)/gallery$ $1?m=gallery
编辑 - 当前的htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^(.+)/gallery/$ $1/?m=gallery [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
答案 0 :(得分:1)
考虑到您提供的网址示例(http://www.example.com/category/postname/gallery/
=&gt; http://www.example.com/category/postname/?m=gallery
),您需要这样的一行:
RewriteRule ^(.+)/gallery/$ $1/?m=gallery [QSA]
添加了缺失的斜杠/
添加了[QSA]
标志(实际上可能不是必需的)。
您需要将此规则置于顶部:在此行之后,例如:RewriteRule ^index\.php$ - [L]
显然,您确保WordPress会生成此类网址:http://www.example.com/category/postname/gallery/