与htaccess相比,量子物理学是微不足道的。我试图明显地从一个URL重定向到另一个URL,即完成HTTP请求。我有:
#RewriteCond %{REQUEST_URI} !(inc|out\.|admin|static|channel) [NC]
#RewriteRule ^([a-z\-]+)(/([a-z_]+))?/?$ channel/$1/$3 [L,R=301]
但不可思议的是,这显然会使用户反弹
mydomain.com/home/xxxx/public_html... //etc
如果我删除了[L,R=301]
,它确实会进行重定向,但只是默默地进行重定向。怎么了?
答案 0 :(得分:1)
与htaccess
相比,量子物理学是微不足道的
lol:)))
将此规则与绝对目标网址一起使用:
RewriteCond %{REQUEST_URI} !(inc|out\.|admin|static|channel) [NC]
RewriteRule ^([a-z-]+)(/([a-z_]+))?/?$ /channel/$1/$3 [L,NC,R=301]
Chnage是在目标网址/
之前添加channel
。如果没有RewriteBase
指令并且在目标URL中缺少前导/
,它会在执行完全重定向时在目标URL之前添加当前目录。
PS:但我认为这是一个mod_rewrite
错误。 IMO应该将DocumentRoot
的当前相对路径视为默认RewriteBase
。