0

我有一个 URL http://www.domain.com/postname/?a_different_world

我需要将其更改为http://www.domain.com/postname/a_different_world

如何去除?从使用 Htacccess(Wordpress) 的 URL

我使用以下 htaccess 代码。但它不工作

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php-$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . /domain.com/index.php [L]
RewriteRule ^/postname/([0-9]+)$ /? $1 [L,QSA] 
4

1 回答 1

1

规则匹配字符串会去掉查询字符串(? 之后的所有内容)。因此,您想放弃 ? 并明确使用这样的查询字符串(而不是你的最后一条规则)

RewriteCond %{QUERY_STRING} ^([\w\-]+)$
RewriteRule ^postname/$ postname/%1?   [L]

请注意,您应该删除前导 / 因为这不会匹配,因为 .htaccess 规则匹配字符串会删除前导 /;还要注意 ? 在 QSA 标志的替换模式和省略中,因为您不想附加查询字符串。

还要将此规则移到上一个条件/规则之上,因为第二个规则将在您的邮件名称模式上触发,因此除非您将其向上移动,否则您将永远无法达到此规则。

于 2012-09-26T09:56:30.777 回答