Mod rewrite 重写规则:添加具有静态内容的别名,而不被以前的规则重写

Mod rewrite 重写规则:添加具有静态内容的别名,而不被以前的规则重写,mod-rewrite,apache,vhosts,Mod Rewrite,Apache,Vhosts,我有下面的规则,我们添加了一个新的别名/msn,它有一些静态内容,比如一个html文件ayuda.html,它是目录索引文件和一些图像 目前我可以看到HTML文件,但看不到图像。此外,根据我是转到domain.com/msn还是domain.com/msn/也会出现不同的错误。在第一种情况下,图像位置不会被重写为domain.com/msn/image-blah-blah.jpg,但在第二种情况下会被重写 这是虚拟目录: <VirtualHost *:80> Serv

我有下面的规则,我们添加了一个新的别名/msn,它有一些静态内容,比如一个html文件ayuda.html,它是目录索引文件和一些图像

目前我可以看到HTML文件,但看不到图像。此外,根据我是转到domain.com/msn还是domain.com/msn/也会出现不同的错误。在第一种情况下,图像位置不会被重写为domain.com/msn/image-blah-blah.jpg,但在第二种情况下会被重写

这是虚拟目录:

<VirtualHost *:80>
        ServerAdmin administracion.linux@yellargentina.com
        DocumentRoot "/opt/tomcat-5.5.30/webapps/portalPA"
        ServerAlias *.amarillas.tm.yellargentina.com
        CustomLog /tmp/amarillas-access_log combined
        ErrorLog /tmp/amarillas-error_log
        RewriteLog /tmp/amarillas-rewrite_log
        RewriteLogLevel 9

        JkUnMount       /images/*.gif           w1
        JkUnMount       /images/*.png           w1
        JkUnMount       /images/*.jpg           w1
        JkUnMount       /js/*.js                w1
        JkUnMount       /styles/*.css           w1

        #JkMount        /jkmanager/*            jkstatus
        JkMount         /portalPA               w1
        JkMount         /portalPA/*             w1
        JkUnMount       /msn/*                  w1

        CookieName PaginasAmarillas
        CookieExpires "2 years"
        CookieDomain ".tm.yellargentina.com"
        RewriteEngine on
        RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
        RewriteRule .* - [F]
        Options +FollowSymlinks

        RewriteRule ^/(msn|msn/) /msn/ayuda.html [PT]
        RewriteRule ^/msn/ayuda.html$ /msn/ [R,L]
        RewriteRule ^/msn/(?!ayuda.html)(.*) /msn/$1 [R,L]

        RewriteRule ^/$ /portalPA/index.action   [PT]
        RewriteRule ^/portalPA/index.action / [R]
        RewriteRule ^/(?!portalPA/)(.*) /portalPA/$1 [PT]
</VirtualHost>
尝试访问domain.com/msn时的日志


根据提供的重写日志,我得出结论,yello-apps-mesenger.jpg是有问题的图像。据我所知,上述图片是从该/msn页面链接而来的

我想这都是关于你是如何写你的作品的

这就是问题所在:

当您请求domain.com/msn/时,将像domain.com/msn/yello-apps-mesenger.jpg一样请求该图像 但是,当您请求domain.com/msn而不使用斜杠时,会请求像domain.com/yello-apps-mesenger.jpg和^/msn | msn/这样的图像,但不会应用到它。 TBH我不知道哪一个做错了-你不清楚这一点,至少我不能弄清楚

我看到了两种解决问题的方法:

一,。只接受domain.com/msn/而不接受domain.com/msn或其他方式,并在建立规则时牢记这一点

二,。修复图像URL-然后相对于网站根进行设置,例如:注意前面的斜杠。。或者也许/msn/是图像URL的一部分-你应该更清楚什么对你有好处

10.248.19.52 - - [23/Aug/2011:16:54:36 --0300] [amarillas.tm.yellargentina.com/sid#2af084b03cd0][rid#2af084bc8338/initial] (2) init rewrite engine with requested uri /msn/yello-apps-mesenger.jpg
10.248.19.52 - - [23/Aug/2011:16:54:36 --0300] [amarillas.tm.yellargentina.com/sid#2af084b03cd0][rid#2af084bc8338/initial] (3) applying pattern '.*' to uri '/msn/yello-apps-mesenger.jpg'
10.248.19.52 - - [23/Aug/2011:16:54:36 --0300] [amarillas.tm.yellargentina.com/sid#2af084b03cd0][rid#2af084bc8338/initial] (4) RewriteCond: input='GET' pattern='^(TRACE|TRACK)' => not-matched
10.248.19.52 - - [23/Aug/2011:16:54:36 --0300] [amarillas.tm.yellargentina.com/sid#2af084b03cd0][rid#2af084bc8338/initial] (3) applying pattern '^/(msn|msn/)' to uri '/msn/yello-apps-mesenger.jpg'
10.248.19.52 - - [23/Aug/2011:16:54:36 --0300] [amarillas.tm.yellargentina.com/sid#2af084b03cd0][rid#2af084bc8338/initial] (2) rewrite '/msn/yello-apps-mesenger.jpg' -> '/msn/ayuda.html'
10.248.19.52 - - [23/Aug/2011:16:54:36 --0300] [amarillas.tm.yellargentina.com/sid#2af084b03cd0][rid#2af084bc8338/initial] (2) forcing '/msn/ayuda.html' to get passed through to next API URI-to-filename handler
10.248.19.52 - - [23/Aug/2011:16:55:33 --0300] [amarillas.tm.yellargentina.com/sid#2af084b03cd0][rid#2af084bc02f8/initial] (2) init rewrite engine with requested uri /msn
10.248.19.52 - - [23/Aug/2011:16:55:33 --0300] [amarillas.tm.yellargentina.com/sid#2af084b03cd0][rid#2af084bc02f8/initial] (3) applying pattern '.*' to uri '/msn'
10.248.19.52 - - [23/Aug/2011:16:55:33 --0300] [amarillas.tm.yellargentina.com/sid#2af084b03cd0][rid#2af084bc02f8/initial] (4) RewriteCond: input='GET' pattern='^(TRACE|TRACK)' => not-matched
10.248.19.52 - - [23/Aug/2011:16:55:33 --0300] [amarillas.tm.yellargentina.com/sid#2af084b03cd0][rid#2af084bc02f8/initial] (3) applying pattern '^/(msn|msn/)' to uri '/msn'
10.248.19.52 - - [23/Aug/2011:16:55:33 --0300] [amarillas.tm.yellargentina.com/sid#2af084b03cd0][rid#2af084bc02f8/initial] (2) rewrite '/msn' -> '/msn/ayuda.html'
10.248.19.52 - - [23/Aug/2011:16:55:33 --0300] [amarillas.tm.yellargentina.com/sid#2af084b03cd0][rid#2af084bc02f8/initial] (2) forcing '/msn/ayuda.html' to get passed through to next API URI-to-filename handler
10.248.19.52 - - [23/Aug/2011:16:55:33 --0300] [amarillas.tm.yellargentina.com/sid#2af084b03cd0][rid#2af084bb82b8/initial] (2) init rewrite engine with requested uri /yello-apps-mesenger.jpg
10.248.19.52 - - [23/Aug/2011:16:55:33 --0300] [amarillas.tm.yellargentina.com/sid#2af084b03cd0][rid#2af084bb82b8/initial] (3) applying pattern '.*' to uri '/yello-apps-mesenger.jpg'
10.248.19.52 - - [23/Aug/2011:16:55:33 --0300] [amarillas.tm.yellargentina.com/sid#2af084b03cd0][rid#2af084bb82b8/initial] (4) RewriteCond: input='GET' pattern='^(TRACE|TRACK)' => not-matched
10.248.19.52 - - [23/Aug/2011:16:55:33 --0300] [amarillas.tm.yellargentina.com/sid#2af084b03cd0][rid#2af084bb82b8/initial] (3) applying pattern '^/(msn|msn/)' to uri '/yello-apps-mesenger.jpg'
10.248.19.52 - - [23/Aug/2011:16:55:33 --0300] [amarillas.tm.yellargentina.com/sid#2af084b03cd0][rid#2af084bb82b8/initial] (3) applying pattern '^/msn/ayuda.html$' to uri '/yello-apps-mesenger.jpg'
10.248.19.52 - - [23/Aug/2011:16:55:33 --0300] [amarillas.tm.yellargentina.com/sid#2af084b03cd0][rid#2af084bb82b8/initial] (3) applying pattern '^/msn/(?!ayuda.html)(.*)' to uri '/yello-apps-mesenger.jpg'
10.248.19.52 - - [23/Aug/2011:16:55:33 --0300] [amarillas.tm.yellargentina.com/sid#2af084b03cd0][rid#2af084bb82b8/initial] (3) applying pattern '^/$' to uri '/yello-apps-mesenger.jpg'
10.248.19.52 - - [23/Aug/2011:16:55:33 --0300] [amarillas.tm.yellargentina.com/sid#2af084b03cd0][rid#2af084bb82b8/initial] (3) applying pattern '^/portalPA/index.action' to uri '/yello-apps-mesenger.jpg'
10.248.19.52 - - [23/Aug/2011:16:55:33 --0300] [amarillas.tm.yellargentina.com/sid#2af084b03cd0][rid#2af084bb82b8/initial] (3) applying pattern '^/(?!portalPA/)(.*)' to uri '/yello-apps-mesenger.jpg'
10.248.19.52 - - [23/Aug/2011:16:55:33 --0300] [amarillas.tm.yellargentina.com/sid#2af084b03cd0][rid#2af084bb82b8/initial] (2) rewrite '/yello-apps-mesenger.jpg' -> '/portalPA/yello-apps-mesenger.jpg'
10.248.19.52 - - [23/Aug/2011:16:55:33 --0300] [amarillas.tm.yellargentina.com/sid#2af084b03cd0][rid#2af084bb82b8/initial] (2) forcing '/portalPA/yello-apps-mesenger.jpg' to get passed through to next API URI-to-filename handler