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