1

我正在创建如下网址:

http://domain.com/app/ clientID /controller/ 或 ../app/ clientID /filename.ext

我需要从 URL 中删除字母数字 clientID。

我目前的 htacces 是:

重写规则 ^app/([a-z0-9]+) /(. )$ /app/$2 [NC,L]

它通过了 htaccess 测试器,但我在网络上收到 404 错误。

示例:http ://domain.com/app/gmcpoujth7/js/fancybox/jquery.fancybox-1.3.4.pack.js

我究竟做错了什么 ?

4

1 回答 1

0

这是一个两方面的问题。

  1. 您想clientID从网址中删除
  2. 您希望脚本仍然有效

为了使它工作,您还需要添加一个重写脚本来告诉您的文件在哪里访问文件。这有点棘手,可能需要更多的工作,而不仅仅是htaccess.

由于 url 正在被重写和重定向,因此您需要有某种方法将该 url 重定向到当前的clientID. 这是棘手的部分。您可以添加以下行来设置 cookie:

RewriteRule ^app/([a-z0-9]+)/(.)$ /app/$2 [co=clientID:$1:.yourserver.com:7200:/,NC,L]

然后在第二次调用中,您将执行如下本地重写:(未测试)

RewriteCond %{HTTP_COOKIE} ^.*clientID=([a-z0-9]+).*$ [NC]
RewriteRule /app/$ /app/$1/$2 [QSA]

这不是一个完整的答案,因为如果有人只是去:http://domain.com/app/js/fancybox/jquery.fancybox-1.3.4.pack.js而没有先去一个带有 的 url clientID,服务器可能如果有不止一个,不知道将它们发送到哪里clientID。你最好的选择是clientID保持原样。

于 2012-09-28T14:34:04.223 回答