【问题标题】:Rewrite base rule- php重写基本规则 - php
【发布时间】:2011-03-16 21:51:01
【问题描述】:

内部网址:example.com/abc/xyz/rule.php?price=1&pass=2
外部网址:example.com/abc/xyz/rule/1/2

但是css、js文件在外部URL中没有生效。 我的 .htaccess 文件:

RewriteEngine On
RewriteBase /example.com/abc/
RewriteRule ^rule/([0-9]+)/([0-9]+)/?$ rule.php?price=$1&pass=$2

【问题讨论】:

  • 请发布您的 .htaccess 的内容
  • ORIGINAL URL :example.com/abc/xyz/rule.php?price=1&pass=2 REWRITED TO :example.com/abc/xyz/rule/1/2 但是 css , js 文件在 REWRITED URL 中没有生效。我的 .htaccess 文件: RewriteBase 上的 RewriteEngine /example.com/abc/ RewriteRule ^rule/([0-9]+)/([0-9]+)/?$ rule.php?price=$1&pass=$2
  • 请更新问题。
  • 只是一个建议。这与其说是一个 PHP 问题,不如说是一个 Apache 问题。如果你这样标记它,你可能会得到更多的回应。 (如果您将.htaccess 文件格式化为代码也会有所帮助。

标签: url .htaccess mod-rewrite base-url


【解决方案1】:

“问题”是相对 URL 是由客户端而不是由服务器解析的。基础 URL,即解析相对 URL,是当前文档的 URL。在您的情况下,基本 URL(路径)是 /abc/xyz/rule/1/2 而不是 /abc/xyz/rule.php?price=1&pass=2

现在你有几种方法可以解决这个问题:

  • 使用可从实际基本 URL /abc/xyz/rule/1/2 正确解析的相对 URL
  • 使用独立于基本 URL 的绝对 URL
  • 使用 HTML’s BASE element 更改基本 URL

【讨论】:

    猜你喜欢
    • 2014-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-05
    相关资源
    最近更新 更多