使用 php 和 .htaccess 进行友好的 url 重写。与 css 图像和 js 的相对链接的困难

Posted

技术标签:

【中文标题】使用 php 和 .htaccess 进行友好的 url 重写。与 css 图像和 js 的相对链接的困难【英文标题】:Friendly url rewriting with php & .htaccess. Difficulties with relative links to css images & js 【发布时间】:2011-03-22 04:15:24 【问题描述】:

我目前有一个这样的网址:play.php?place=idplace&event=idevent

我以这种方式启用了友好网址:

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ play.php?place=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ /play.php?place=$1
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ /play.php?place=$1&event=$2
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$ /play.php?place=$1&event=$2

只有一个参数(那里的地点 id),一切正常。但是当涉及到 mysite/theplace/theevent 之类的两个参数(地点和事件)时,我的所有亲戚链接(css、js 和 imgs)都不起作用,我的页面似乎认为它实际上在 theplace/ 文件夹中,而不是在根/一个。

对这个问题有什么想法?

非常感谢

纪尧姆

【问题讨论】:

使用绝对路径。另见***.com/questions/3264285 注意:您可以将前两个规则组合成... RewriteRule ^([a-zA-Z0-9_-]+)/?$ /play.php?place=$1 等 【参考方案1】:

您必须使用至少来自域的绝对路径,即

/images/myimage.png

您也许可以通过另一种方式解决这个问题,但是随着您的 URL 重写变得更加先进,它只会变得更加烦人。

【讨论】:

感谢您的回答,我使用了 images/myimage.png 而不是 /images/,现在它可以完美运行了!再次感谢

以上是关于使用 php 和 .htaccess 进行友好的 url 重写。与 css 图像和 js 的相对链接的困难的主要内容,如果未能解决你的问题,请参考以下文章

使用 .htaccess 在 php 中创建友好的 URL [重复]

带有 .htaccess 的 timthumb.php 友好 URL

使用 .htaccess 获取友好的 url

如何使用 .htaccess 创建友好的 URL?

使用 htaccess 创建 SEO 友好的 url

.htaccess 友好的 URL 奇怪的行为