1

代码行:

RewriteRule ^/test/(.*)/?$ http://test.com/test/index.php?route=$1 [L,QSA]

对我正在使用的 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 ^/test/(.*)/?$ http://test.com/test/index.php?route=$1 [L,QSA]

</IfModule>

# END WordPress

当我访问我的 domain.com/test/123 时,Wordpress 重定向到 404 页面而不是新链接。我曾尝试移动 htaccess 文件中的项目以防它们被覆盖,但不是运气。有任何想法吗?

4

1 回答 1

1
  • 问题 1:RewriteRule 与前导斜杠不匹配。

  • 问题 2:重写规则的顺序错误。

这是固定版本:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteRule ^test/(.*)/?$ http://test.com/test/index.php?route=$1 [L,QSA,NC]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
于 2013-04-23T15:14:52.893 回答