多个RewriteRules

罗素·怀特

我有一个常规站点,在其中添加了Wordpress,该站点安装在/ wp中并重写为root。我也有一个需要重写规则的perl程序。我知道我不应该有两个RewriteBase实例,但是看不到如何使两个部分一起工作。使用当前设置,当WP部分处于活动状态时,虚拟目录/ amazon会为所有呼叫生成404。

删除第二个重写库无效。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wp/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L]
</IfModule>
# END WordPress

RewriteEngine on
RewriteBase /
RewriteRule ^(amazon)$ $1/ [R]
RewriteRule ^(amazon)/(.*)(\.[a-z]+)$ cgi-bin/cbooks/ca.pl?virtual=$2&virtual.dir=$1 [L]
RewriteRule ^(amazon)/(.*)$ cgi-bin/cbooks/ca.pl?virtual=$2&virtual.dir=$1 [L]
林俊

您应该将您的亚马逊规则放在您的wordpress路由规则之前,并在规则目标之前添加一个斜杠,使它们成为绝对的URL路径:

RewriteEngine on
RewriteRule ^amazon$ /$1/ [R,L]
RewriteRule ^amazon/(.*)(\.[a-z]+)$ /cgi-bin/cbooks/ca.pl?virtual=$2&virtual.dir=$1 [L]
RewriteRule ^amazon/(.*)$ /cgi-bin/cbooks/ca.pl?virtual=$2&virtual.dir=$1 [L]

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wp/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L]
</IfModule>
# END WordPress

WordPress路由规则正在路由您的亚马逊规则,因为它们排在第一位。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

多个RewriteRules

来自分类Dev

单个URL的多个RewriteRules

来自分类Dev

htaccess中有多个RewriteRules

来自分类Dev

多个RewriteRules和RewriteConds干扰

来自分类Dev

Apache .htaccess mod_rewrite多个RewriteRules

来自分类Dev

多个RewriteCond或多个RewriteRules,哪个更有效?

来自分类Dev

如何同时使用多个RewriteRules来同时使用3rdparty和路由?

来自分类Dev

应用RewriteRules

来自分类Dev

htaccess中的RewriteRules

来自分类Dev

htaccess中的RewriteRules

来自分类Dev

使用Apache Rewriterules的问题

来自分类Dev

查询字符串的RewriteRules

来自分类Dev

查询字符串的RewriteRules

来自分类Dev

HTACCESS处理2个RewriteRules

来自分类Dev

用RewriteRules按执行顺序发布

来自分类Dev

.htaccess文件RewriteRules不起作用

来自分类Dev

.htaccess具有嵌套文件的RewriteRules

来自分类Dev

用RewriteRules按执行顺序发布

来自分类Dev

.htaccess文件RewriteRules不起作用

来自分类Dev

Multible RewriteRules导致内部服务器错误

来自分类Dev

Apache 2.4上的嵌套RewriteRules导致500个错误

来自分类Dev

在.htaccess中组合RewriteRules,以便忽略特定的查询参数

来自分类Dev

Multible RewriteRules导致内部服务器错误

来自分类Dev

如何用 RewriteRules 和 Conds 替换 RedirectMatch 以排除目录

来自分类Dev

使用htaccess和RewriteRules时如何修复不同目录中的链接?

来自分类Dev

RewriteRules将特定域https重定向到http,其他则相反

来自分类Dev

RewriteRule URL RewriteRules http://www.example.com/login.php

来自分类Dev

有两个RewriteRules时如何解决重定向

来自分类Dev

如何编写包含条件匹配通过 RewriteRules 设置的 2 个 ENV 变量的 IF