我们目前有一个.htaccess RewriteRule,它错误地(或规则不正确)重定向网址。
规则
RewriteRule ^holiday-ecards/?.*$ /appindex.php [L]
所需的重定向是:
http://domain.com/holiday-ecards/
http://domain.com/holiday-ecards/1/
http://domain.com/holiday-ecards/1/2
http://domain.com/holiday-ecards/1/2/3
但是,它似乎也会重定向以下内容,这是不受欢迎的:
http://domain.com/holiday-ecards-business/
修改
/appindex.php
这是照顾应用程序路由并按预期工作。
答案 0 :(得分:1)
您可以通过多种方式进行操作,其中一种方法是设置重写条件,以便不触及带有假日警示加连字符的URI,如下所示:
RewriteCond %{REQUEST_URI} !^/holiday-ecards-.*$
RewriteRule ^holiday-ecards/?.*$ /appindex.php [L]
不确定URI中包含holiday-ecards
的变体有多少。
答案 1 :(得分:0)
RewriteRule ^holiday-ecards/?.*$ /appindex.php [L]
(请注意,这是内部重写,而不是重定向。)
以上RewriteRule
模式在holiday-ecards
可选后设置斜杠(因此它也匹配holiday-ecards-business
)。但是,在应该重写的示例URL中,斜杠是必需的。所以,看起来你只需要强制它(?),例如:
RewriteRule ^holiday-ecards/ /appindex.php [L]
尾随模式.*$
是多余的。