尝试使用Apache的mod重写和PHP重新创建StackOverflow风格的漂亮URL。
这很有效:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ([0-9]+)$ index.php?id=$1 [L]
</IfModule>
http://localhost/home/script/5
等网址重定向到http://localhost/home/script/index.php?r=5
。 CSS内容加载完美。
像http://24.68.226.186/recipes/recipe/5/seo-text
重定向的网址,但CSS文件的相对路径不正确:
<link rel="StyleSheet" hreF="css/theme.css" type="text/css" media="screen,print" id="css-theme" />
脚本的目录结构(index.php)类似于:
htdocs/home/script
htdocs/home/script/.htaccess
htdocs/home/script/index.php
htdocs/home/script/css
htdocs/home/script/images
如何使用mod重写告诉Apache在提供文件而不是附加到URL的任何子目录时使用“script”目录?
换句话说,你如何使用mod重写来删除URL的“seo-text”部分;(1)确保它反映实际的标题[来自数据库]; (2)将浏览器重定向到新URL [如有必要]; (3)告诉Apache忽略URL中ID以外的所有路径?
我宁愿不在CSS中使用绝对路径。
谢谢!
答案 0 :(得分:0)
使用Logan的建议:
<base href="/home/script/" target="_self" />
由于存在错误,这不适用于IE8。