RewriteRule无法在生产服务器上运行

Jor*_*cht 5 php .htaccess mod-rewrite redirect

对于我当前的项目,我必须重定向301一些链接但是当你输入一些额外的get参数时,参数需要在新url上加后缀.

例:

旧:/ language/nl/article-1 /?test = 123

new:/ language/nl/fa1-artcile-1 /?test = 123

所以我使用以下代码:(在我的开发环境中工作正常)

RewriteEngine On
Options +FollowSymLinks
RewriteBase /language/nl
RewriteRule /artcile-1/*    /language/nl/fa1-artcile-1/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)

但是一旦在我的生产环境中它不起作用,它仍然重定向到新的URL但是,get参数不会附加在新的URL上.

编辑:它确实重定向但它不附加参数.

编辑2:完全填充

# 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]
</IfModule>

# END WordPress
Run Code Online (Sandbox Code Playgroud)

重写规则出现在wordpress部分之前,我有大约30个.

有什么建议?

Jan*_*Jan 0

您需要附加查询字符串

# 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,QSA]
</IfModule>

# END WordPress
Run Code Online (Sandbox Code Playgroud)