仅针对js和css文件中的.htaccess中的IE更改URL

时间:2015-11-07 12:30:54

标签: php apache .htaccess mod-rewrite url-rewriting

考虑我使用IE获取的URL(仅适用于.js和.css文件): http://example.com/it/categories/catalog/view/javascript/common.js

我需要从中删除“it / categories /”部分,以便找到该文件。虽然对于其他浏览器,会形成正确的URL: http://example.com/catalog/view/javascript/common.js

以下是我的.htaccess文件中的内容:

RewriteEngine On

RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

我尝试在.htaccess:

的末尾添加这些行
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !.*\.(js|css)
RewriteCond %{HTTP_USER_AGENT} MSIE
RewriteRule ^it/categories/(.+) /$1 [L]

但它不起作用。我在这里错过了什么? 我在这里找到了类似的问题:

How to change url? htaccess

虽然我提到过,但就我而言,只有使用IE浏览器才会形成错误的URL。

修改

发现这可能是由于IE无法解压缩g-zipped文件(Apache)。如同这个问题:IE10 and jQuery: SCRIPT5009: "$" is undefined

据我说,我尝试删除以前的更改并在.htaccess文件中添加此行:

BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

没有结果。有什么想法吗?

编辑2

毕竟我发现它也不是g-zip问题(因为只是通过切换页面显示语言,页面开始与IE一起工作正常)。这意味着真正的问题是在破碎的链接中(arkascha是正确的。再次感谢你!)。

由于我还没有真正进入php的东西,我设法通过在.htaccess文件中添加这一行来实现这一点:

RedirectMatch "^/it/([a-zA-Z0-9]+)(/(.*))?$" "http://example.com/$3"

虽然我明白这并没有解决问题,但在我的情况下,至少我得到了它的工作!

0 个答案:

没有答案