Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php .htaccess重定向url,带有三个查询字符串_Php_Apache_.htaccess_Redirect_Query String - Fatal编程技术网

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

Php .htaccess重定向url,带有三个查询字符串,php,apache,.htaccess,redirect,query-string,Php,Apache,.htaccess,Redirect,Query String,我在.htaccess中有几行代码,我正在尝试扁平化URL,但似乎遗漏了一些内容。 URL被重定向,但在重定向URL时,大多数资源都“找不到” 这是密码 Options -Indexes +FollowSymLinks RewriteEngine On ###########music####### RewriteCond %{THE_REQUEST} \ /+profile\.php\?user=([^&]+)&title=([^&]+)&uid=([^&

我在.htaccess中有几行代码,我正在尝试扁平化URL,但似乎遗漏了一些内容。 URL被重定向,但在重定向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]

我做错了什么?

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


您可以尝试将其添加到页面的HTML标题中:
,以便从该URL而不是当前URL解析每个相对URL。

所有行都会被注释。哪些URL对您不起作用?请查看此问题以启用重写跟踪,这可能会帮助您找到问题所在:@anubhava,我的错误。请再看一次。404是什么URL?这个htaccess在哪里?@anubhava htaccess位于“public_html”中,索引文件在那里,与profile.php所在的目录相同。www.site.com/profile.php?user=username&title=engineer&uid=45重定向到www.site.com/username/engineer/45,并在控制台中给出错误。这是一个很长的文件和图像列表,无法找到。您保存了这一天。我加了一句。这就解决了。我不知道我是应该单独提出一个问题,还是你可以在这里回答。如何在url上保留“profile”目录中的内容。比如:www.site.com/profile/username/engineer/48?试试最后一条规则:
RewriteRule^profile/([^/]+)/([^/]+)/([^/]+)/([^/]+)$profile.php?user=$1&title=$2&uid=$3[L,QSA]
好吧,这是内部的,还添加了RewriteRule^/profile/%1/%2/%3?[L,R=301]