我试图通过在WordPress环境中使用.htaccess文件来重写一些网址。我有一个名为“offerta”的WordPress页面,其中包含两个参数,其中一个是我用来生成内容的自定义ID。
所以,示例网址为:http://www.riccionelastminute.it/rlm/offerta/?id=15&titolo=my-title
我希望它是:http://www.riccionelastminute.it/rlm/offerta/my-title-15/
这是我现在的.htaccess:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /rlm/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /rlm/index.php [L]
</IfModule>
# END WordPress
经过一些研究,我尝试在最后一次重写规则之后立即添加此规则,但它重定向到404页面:
RewriteRule ^offerta/([A-Za-z0-9-]+)-([0-9]+)/$ offerta/?id=$2&titolo=$1
我不习惯玩.htaccess,我不是专家。 我错过了什么吗?
答案 0 :(得分:0)
问题是最后一个RewriteRule
有L
标志,这意味着no other rules are applied after it。您需要做的是在最后一个之前添加规则:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /rlm/
RewriteRule ^index\.php$ - [L]
RewriteRule ^offerta/([A-Za-z0-9-]+)-([0-9]+)/$ offerta/?id=$2&titolo=$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /rlm/index.php [L]
</IfModule>