为什么 modrewrite 使用我网站的完整路径?
我想将所有非 .html 链接重定向到 html 链接,例如domain.com/hey 到domain.com/hey.html,所以我使用了以下规则
RewriteCond %{REQUEST_URI} !^\.html$
RewriteRule ^([a-zA-Z\+]+)$ $1\.html [R=301,L,NE]
但是重定向是这样发生的:
http://domain.com/what+there -> http://domain.com/home/user/public_html/what+there.html 这是为什么呢
?
I wanted to redirect all non .html links to html links, such as domain.com/hey to domain.com/hey.html so I used the following rules
RewriteCond %{REQUEST_URI} !^\.html$
RewriteRule ^([a-zA-Z\+]+)$ $1\.html [R=301,L,NE]
However the redirect happens like this:
http://domain.com/what+there -> http://domain.com/home/user/public_html/what+there.html
Why is this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看起来您正在每个目录上下文(
.htaccess
或
)中使用RewriteRule
。 在这种情况下,为了避免这种情况,请使用
RewriteBase
,像这样:还要注意其他额外的复杂性 items 用于每个目录重写。
looks like you are using your
RewriteRule
in a per-directory context (.htaccess
or<Directory>
). in this case,to avoid this, use
RewriteBase
, like so:also note the other additional complexity items for per-directory rewrites.