使用mod_rewrite将目录更改为变量...这有用吗?

时间:2012-01-02 06:35:54

标签: php mod-rewrite

如果我有一个链接,例如:dashboard / xyz / fff /并且我使用modrewrite将其更改为dashboard /?loc = xyz& action = fff当页面加载时loc和action可用作变量?

如果是这样,那么这是一个我似乎无法开始工作的具体例子。我的规则是:

RewriteRule ^getclients/([a-z\-]+)$ /dashboard/?action=getclients&module=$1

将这些链接发送到该网址的链接:

<li><a href="getclients/seoanalysis" title="SEO Analysis">SEO Analysis</a></li>

我现在想要在.com / dashboard /?action = getclients&amp; module = $ 1并使用这些变量来加载所需的页面内容。

然而:现在页面重定向到我认为是“正确的页面”,但CSS全部被破坏了。我只有纯文本。随意提出另一种方法来实现相同的效果,或许使用jQuery和Ajax或其他东西来加载网站的各个部分。

谢谢!

3 个答案:

答案 0 :(得分:1)

确保文件位置准确,否则服务器可能会从错误的相对目录发送数据。

答案 1 :(得分:1)

如果您不想使用绝对路径,可以尝试重写对images,javascript和css的请求。也许是这样的:

RewriteCond %{REQUEST_FILENAME} \.(js|css|png|jpe?g|gif)$ [NC]
RewriteRule ^getclients/(.+)$ /dashboard/$1  [L]

答案 2 :(得分:1)

要从不同的相对路径正确加载css,images,js文件,您应该为页面上的所有相对URL指定base URL,如下所示:

<base href="http://www.example.com/dashboard/" />