重写打开不同页面的规则

时间:2017-03-31 10:48:13

标签: apache .htaccess mod-rewrite

我遇到了一些.htaccess规则。

我已经找到了/module/slug页面。我想,当我输入slug来查看/module/slug/的内容但不会重定向到此页面时。可能吗?我已经尝试过这条规则,但没有运气:

RewriteRule ^slug/$ /module/slug/ [L]

我的.htaccess内容:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule ^calculator/$ /sample-page/ [R=301,L]
</IfModule>

# END WordPress

1 个答案:

答案 0 :(得分:0)

这是因为您没有告诉Apache重定向(R=301)。

添加重定向标记R,它应该可以正常工作。还要确保:

  1. 您已正确设置RewriteBase
  2. 文件中之前没有任何其他规则与同一网址匹配。
  3. RewriteEngine On
    RewriteBase /
    
    RewriteRule ^slug/$ /module/slug/ [R=301,L]