使用 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 [重复]