最好使用 - 或/在网址中

时间:2015-11-17 05:39:34

标签: php html

所以我刚刚开始在我的网站上使用重写规则,而且我遇到了意想不到的问题。

我正在改变

的链接

http://localhost:8888/study.php?deckid=1101&studymethod=colorcoded&decksetting=deckhttp://localhost:8888/study/1101/colorcoded/deck

这打破了很多我的链接。 所以我把它改成了这个

http://localhost:8888/study-1101-colorcoded-deck

这是不好的做法吗?或者也许在我的原始文件中,我应该修改它们从$_SERVER["DOCUMENT_ROOT"]

拉出的位置的链接

这是我目前的重写代码:

RewriteRule ^study/([0-9]+)/(.*)/(.*)$ study.php?deckid=$1&studymethod=$2&decksetting=$3 [NC,L]
RewriteRule ^study-([0-9]+)-(.*)-(.*)$ study.php?deckid=$1&studymethod=$2&decksetting=$3 [NC,L]

目前问题是: 使用斜杠版本时,我的链接(<img src="../../img/picture.png">) 正在尝试从studymethod而不是根文件夹中提取链接。

基本上,使用$_SERVER["DOCUMENT_ROOT"]更新所有链接或仅使用短划线( - )更好。 或者只要它有效,它真的不重要吗?

1 个答案:

答案 0 :(得分:0)

两者显然都有效。

但一般情况下,您使用/将动作与您正在谈论的项目分开,例如/read/101-psychology/title/70143844。如果您有嵌套操作,则会有多个斜杠:/admin/update/113242

最终虽然取决于你。

在您的特定情况下,我会使用/study/deck/1101?method=colorcoded或类似的东西。你的行动正在研究一个套牌,项目是1101.其他任何东西都只是参数。实际上我甚至不会将它们存储为查询字符串的一部分,我会将它们放在会话对象(/study/deck/1101)中。