重写URL但保留外部文件

时间:2014-07-07 19:57:54

标签: php apache .htaccess mod-rewrite

我一直用PHP创建一个Web应用程序,但问题是当我尝试重写时:

  

http://example.com/user.php?username=user121

为:

  

http://example.com/user/user121

使用HTACCESS,它会丢失所有外部文件,只保留页面的HTML。请帮帮我?

我目前的重写规则:

RewriteRule users/([^/]+) user.php?username=$1 [NC,L]

1 个答案:

答案 0 :(得分:1)

使用任何一种这些解决方案。

解决方案1:在css,js,images文件中使用绝对路径,而不是相对路径。这意味着您必须确保这些文件的路径以http://或斜杠/开头。

解决方案2 :尝试在页面的HTML标题中添加此内容:

<base href="/" />

解决方案3:在.htaccess中添加此规则:

RewriteRule users/(.+?\.(?:jpe?g|gif|bmp|png|tiff|css|js))$ /$1 [NC,L,R=301]