我正在尝试进行.htaccess重定向,除了我的一个案例外,我让它正常工作。
当我有这条规则时:
RedirectMatch "^/choice$" "/choice/home.html"
地址:www.example.com/choice
重定向到www.example.com/choice/home.html
。
相反,当我有这个规则时:
RedirectMatch "^/choice/$" "/choice/home.html"
输入地址:www.example.com/choice/
我得到了404.
我尝试了对规则的修改:
RedirectMatch "^/choice\/$" "/choice/home.html"
回收服务器,但我仍然得到404.
这是我设定的条件:
RewriteCond %{REQUEST_URI} ^/choice/*
我的目标是让它重定向到同一页面,无论最终/是否存在于地址中。有人有任何见解吗?谢谢!
答案 0 :(得分:1)
RedirectMatch
和RewriteCond
彼此无关。第一部分是mod_alias
的一部分,第二部分是mod_rewrite
的一部分 - 这是两个独立的模块。
您可以使用以下方法完成重定向:
RewriteEngine on
RewriteRule ^choice/?$ /choice/home.html [R=302,L]
将302更改为301以使重定向成为永久(缓存)。