转换相对URL请求使用mod_rewrite绝对URL请求(Converting relative URL requests to absolute URL request using mod_rewrite)

   IT问题网   2019-04-23 00:00:00

问 题

我已经在我的.htaccess文件,使我的网址pretty的利用一个简单的重写规则。曾经是这样的:

http://somedomain.com/product-details.phpproduct=mq==amp;hash=123456789
 

现在是这样的:

http://somedomain.com/secure/123456789/mq==/rings/details/blue-diamond-topaz-ring.php
 

这是一切都非常好,但我有很多,有所有的js和css链接作为相对的php文件。由于上述新的pretty的url,这些链接的js和css现在是5或6的目录太深了。

我的问题:由mod_rewrite的手段,是有办法,我可以使 css / style.css中请求或 js / somescript.js 改写为类似的http://www/somedomain.com/css/style.css 的例子吗?

我用google搜索我的心脏了,做我的功课,虽然我可以找到一万个参考重写url的,似乎没有以同样的方式来工作,要求这样的脚本。我试过,但无济于事:

 重写规则^ / css /(.*)$的http://本地主机的/ dev / css / $ 1 [r = 302,l]
 

我认为会发送类似 /css/somefile.css 所有的请求 http://localhost/dev/css/somefile.css

任何帮助或指导是很好,真正ap preciated。


更新:这是我的.htaccess文件的重写部分:

rewriteengine叙述上
选项+的followsymlinks
的rewritebase / eterniti-mygate中/
重写规则^([^- ] *) - 文章 - ([^- ] *)\ php $ /in-the-news.phpaction=$1amp;article=$2 [l]
#rings重写规则
重写规则^安全/([^- ] *)/([^- ] *)2 /戒指/信息/([^ _ *)\ php $环details.php产品= $&放大器;?哈希= $ 1 [ l]
重写规则^ css /(.*)$的http://本地主机/ eterniti-mygate中/ css / $ 1 [r = 302,l]
 

更新:这是日志文件输出的重写

请看看我的日志文件,在<一个href="https://docs.google.com/leafid=0b-nrfzve6xi7mmi0n2zjnzetywzlyy00njjilwjhmjqtyzayyzy4zwixn2u0amp;hl=en_gb" rel="nofollow">https://docs.google.com/leafid=0b-nrfzve6xi7mmi0n2zjnzetywzlyy00njjilwjhmjqtyzayyzy4zwixn2u0amp;hl=en_gb

这似乎不是重写从基本的要求,而是从虚拟目录(例如/安全/戒指/信息/)。我已经设定的rewritebase到/ eterniti-mygate中/这是对我的瓦帕服务器的根目录的文件夹。

解决方案

这应该是有用

 的rewritecond%{request_filename} \的css
重写规则^ css /(.*)$的http://本地主机的/ dev / css / $ 1 [l]
 

在.css文件被调用时,你重写(如果该文件是在css /),以的http://本地主机的/ dev / css / pathorname

请小心, pathorname 可以包含子目录。 另外,[r = 302]或许只是没有必要。内部重定向应该够了。

如果不工作,你可以看到发生了什么:

rewritelog"/var/log/apache2/rewrite.log"
rewriteloglevel 2
 

(你可以把日志级别为4,如果你仍然无法理解。)

"编辑与日志的详细信息

 第20行:[perdir c:/ wamp / www / eterniti-mygate中/]添加路径信息后缀:c:/ wamp / www / eterniti-mygate中/安全 -  c:/ wamp / www / eterniti-mygate中/安全/ af192eaa6808acab8947ce59a32f8d17 / mq == /戒指/信息/ css / reset.css
第21行:[perdir c:/ wamp / www / eterniti-mygate中/]条每个dir prefix:c:/ wamp / www / eterniti-mygate中/安全/ af192eaa6808acab8947ce59a32f8d17 / mq == /戒指/信息/ css /reset.css- 安全/ af192eaa6808acab8947ce59a32f8d17 / mq == /戒指/信息/ css / reset.css
 

我们正在努力满足安全/ af192eaa6808acab8947ce59a32f8d17 / mq == /戒指/信息/ css / reset.css

 '^([^- ] *) - 文章 - ([^- ] *)\ php $'
"^安全/([^- ] *)/([^- ] *)。/戒指/信息/([^ _ *)\ php $'
"^ css /(.*)$"
 

不匹配。明知插入符号( ^ )表示:字符串/ url的开头( http://mysite.com排除 ),则无法检测到的东西是不是像 css /东西 end (供参考: $ 办法结尾的字符串/网址)。从规则中删除它,它应该与什么的css /东西 end 和规则将适用

标签:转换相对相对于请求要求使用绝对



分享:

  • 微信
  • QQ好友
  • QQ空间
  • 新浪微博


热门推荐

如何提取的404错误在PHP中的URL参数(How to extract URL parameters on 404 Error in PHP)

problem i have my htaccess redirecting to a error404.php ...

使用mod_rewrite工作不更改显示的URL结构(Change Displayed URL Structure using mod_rewrite NOT Working)

problem i need to change the structure of the displayed c ...

有条件的.htaccess(Conditional .htaccess)

problem i'm sure there are other threads on similar topic ...

重定向的站点根目录使用的.htaccess子目录(Redirecting root of site to subdirectory using .htaccess)

problem a site of mine has all the files stored in a subd ...

的.htaccess URL重写 - 删除的.php去除WWW。转换?ID = 10/10(.htaccess url rewrite - remove .php remove www. convert id=10 to /10)

problem as the title says, i need a quite com ...

从Symfony的1.4路径删除“网络”共享托管?(Remove &#39;web&#39; from Symfony 1.4 path on shared hosting)

problem i've found a lot of helpful information about ins ...

小问题.htaccess文件?(small problem with .htaccess file)

problem i have a small .htaccess file which allow me to r ...

的.htaccess基于查询字符串重定向和删除查询字符串(.htaccess redirect based on query string and remove query string)

problem i'm in need to have redirect instruct ...

htaccess的导致服务器错误500(htaccess causing server error 500)

problem i have a zend framework application w ...

404 htaccess的重定向不工作(404 htaccess redirect is not working)

problem i am running tomcat on apache we server. i am put ...

通过重定向某些变量的任何页面(Redirect any page passing certain variables)

problem i'm putting a search engine on my site, and the s ...

与RewriteMap指令的MapType DBD问题(Problems with RewriteMap MapType dbd)

problem continuing from another discussion he ...

重写URL时,一个表单提交(rewrite url when a form is submitted)

problem question regarding redirection using htaccess. on ...

从URL preventing直接访问(Preventing direct access from url)

problem in one of my work i need to build a feature for u ...

的.htaccess不会影响到其他文件夹(.htaccess not affecting other folders)

problem i have a .htaccess file that affects my subdomain ...

mod_rewrite的错误:[客户127.0.0.1]文件不存在(mod_rewrite error: [client 127.0.0.1] File does not exist)

problem i want to start using mod_rewrite so i can use fr ...

重写全球htpasswd的密码保护(Overriding global htpasswd password protection)

problem i am testing a drupal site on a development serve ...

PHP路径包含文件(PHP Path to Include Files)

problem i have a site with an index.php. the index.php ha ...

重写URL隐藏的index.php并作出查询不错(Rewriting url to hide index.php and to make query nice)

problem i had developed project with custom mvc architect ...

htaccess的URL路由的PHP MVC?(htaccess URL routing for PHP MVC)

problem i've been searching and have yet to find an artic ...