2009-12-23 114 views
1

我有一个URL重写,看起来像这样:URL重写阿帕奇查找文件

RewriteEngine On 
RewriteRule ^cancun/tours/$ location-tours-listings.php?locationName=Cancun 
RewriteRule ^cancun/tours$ location-tours-listings.php?locationName=Cancun 

问题是,现在的页面无法找到相对URL的,如CSS,图片等

有没有办法解决这个与.htaccess文件中的命令?所以当有人去/坎昆/旅游/阿帕奇知道它应该看起来相对于location-tours-listings.php文件,而不是其他目录?

或者是进入文件的唯一选择,它将重定向到并对所有这些文件进行硬编码?

回答

1

如果你想通过.htaccess修复它,你可以301重定向的根文件夹添加到.htaccess文件为每个单独的网站,在这个例子中:

Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^example\.com [NC] 
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301] 

如果你喜欢上解决这个浏览器端,您可以使用<base>标签在HTML的<head>部分如下面的例子:

<head> 
    <title>Page Title</title> 
    <base href="http://www.example.com" /> 
</head> 
+0

感谢,从来不知道基本可以做这样的事情,所以我总是忽略它。谢谢 – krx 2009-12-23 16:34:22

+0

@krio:您可能需要查看这篇文章中关于''标签的一些提示:http://www.drostdesigns.com/base-href-tag/ – 2009-12-23 16:36:31

+0

感谢您的帮助!你有任何资源来处理Apache重写中的空间吗? – krx 2009-12-23 17:38:50