.htaccess重定向url有三个查询字符串

时间:2014-12-03 06:12:46

标签: php apache .htaccess redirect query-string

我在.htaccess中有一些行,我试图弄平URL,但似乎我错过了一些东西。 URL被重定向,但大多数资源是" NOT FOUND"何时重定向URL。

这是代码。

Options -Indexes +FollowSymLinks
RewriteEngine On
###########music#######
RewriteCond %{THE_REQUEST} \ /+profile\.php\?user=([^&]+)&title=([^&]+)&uid=([^&\ ]+)
RewriteRule ^ /%1/%2/%3? [L,R=301]
RewriteCond %{THE_REQUEST} \ /+profile\.php\?user=([^&]+)&title=([^&\ ]+)
RewriteRule ^ /%1/%2? [L,R=301]
#################internally redirect////////////
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ profile.php?user=$1&title=$2&uid=$3 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)$ profile.php?user=$1&title=$2 [L,QSA]

我做错了什么?

1 个答案:

答案 0 :(得分:1)

看起来您已经遇到了人们在切换到漂亮网址方案时遇到的最常见问题。解决方案也很简单,只需在你的css,js,images文件中使用绝对路径而不是相对路径。这意味着您必须确保这些文件的路径以http://或斜杠/开头。

您可以尝试在页面的HTML标题中添加此标题:<base href="/" />,以便从该网址解析每个相对网址,而不是当前网址。