科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件apache如何rewrite到虚拟目录?

apache如何rewrite到虚拟目录?

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

apache如何rewrite到虚拟目录?

作者:csdn 来源:csdn 2009年12月16日

关键字: 问答 Apache

  • 评论
  • 分享微博
  • 分享邮件

apache如何rewrite到虚拟目录?

<VirtualHost 127.0.0.1>
        ServerName 127.0.0.1
        DocumentRoot        "F:/website/bo_v3/www/"
        Alias /php/        "F:/website/bo_v3/php/"


        RewriteEngine on
        RewriteRule ^/nba/game/text_([0-9]+)\.html\?*(.*)$ /php/nba/game_info\.php\?action=text&game_id=$1&$2 [L]
</VirtualHost>

F:/website/bo_v3/www/ 下没有php这个目录
这个样子下,如果我访问http://127.0.0.1/nba/game/text_222.html,是会提示404的错误的。
反复测试发现只要是虚拟目录的就不可以,
必须在F:/website/bo_v3/www/下的目录中存在重写到的文件才可以正常使用。

以前用iis,这个是可以实现的。
在apache下如何实现呢…不要用反向代理,好像效率很低。

 

<VirtualHost 13.24.32.34:80>
ServerName 127.0.0.1
DocumentRoot F:/website/bo_v3/www/
<IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteRule ^/nba/game/text_([0-9]+)\.html\?*(.*)$ /php/nba/game_info\.php\?action=text&game_id=$1&$2 [L]
</IfModule>
</VirtualHost>

 

php/nba/game_info.php?action=text&game_id=444 会转向到 /nba/game/text_444.html ,但是你没有/nba/这个目录,所以404。
解决的办法是照抄/php/的设置,把/nba/也用alias指到合适的位置

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章