如何为ApacheHttpDvirtualHost定义默认页面?
我正在尝试设置一个apachehttpd虚拟主机,它将转发到一个特定的URL 例如,如果某人转到:如何为ApacheHttpDvirtualHost定义默认页面?,apache,redirect,mod-rewrite,url-rewriting,Apache,Redirect,Mod Rewrite,Url Rewriting,我正在尝试设置一个apachehttpd虚拟主机,它将转发到一个特定的URL 例如,如果某人转到: https://myhost.mydomain.com/ 我想把他转发给: https://myhost.mydomain.com/ords/f?p=2000 我想,我几乎可以让它工作了 我的VirtualHost定义中包含以下内容: RewriteEngine on RewriteCond "%{REQUEST_URI}" "!=/ords/f?p=$appno" RewriteRule
https://myhost.mydomain.com/
我想把他转发给:
https://myhost.mydomain.com/ords/f?p=2000
我想,我几乎可以让它工作了
我的VirtualHost定义中包含以下内容:
RewriteEngine on
RewriteCond "%{REQUEST_URI}" "!=/ords/f?p=$appno"
RewriteRule "/" "/ords/f?p=$appno" [PT,END]
现在,当我执行此操作时,我会在浏览器的URL栏中获得(正确重写的)URL,但在窗口中,我看到:
This page isn’t working
myhost.mydomain.com redirected you too many times.
现在,我认为'END'标志的目的是停止这些重定向循环?(我还尝试了“L”标志,结果也一样。)
有人能给我一个线索吗
我的Apache技能充其量只是新手水平。这必须是一个简单的任务…我只是没有看到它
谢谢你 好吧,我很高兴地告诉大家,我似乎已经弄明白了这一点,尽管这是通过抓住救命稻草,而不是对重写规则的深入理解 我所做的只是,我改变了:
RewriteRule "/" "/ords/f?p=$appno" [PT,END]
致:
它的工作原理完全符合预期
我不确定“/”和“^/$”之间的区别,但它似乎在世界上产生了所有的不同
如果有人能给我一个解释,我会非常感激
谢谢
RewriteRule "^/$" "/ords/f?p=$appno" [PT,END]