Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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
Apache url重写问题_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Apache url重写问题

Apache url重写问题,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我正在尝试将任何请求(如/?page=pagename)映射到此/html/pagename.html(与人们通常的做法相反),因此,例如,如果请求是mydomain.com/?page=home,那么我希望我的服务器返回此文件:/html/home.html 我尝试了这个规则,但给出了错误500: RewriteRule ?page=(.*) /html/$1.html [NC] 各位有什么想法吗?试试这个: RewriteCond %{QUERY_STRING} page=(.*) Rew

我正在尝试将任何请求(如/?page=pagename)映射到此/html/pagename.html(与人们通常的做法相反),因此,例如,如果请求是mydomain.com/?page=home,那么我希望我的服务器返回此文件:/html/home.html 我尝试了这个规则,但给出了错误500:

RewriteRule ?page=(.*) /html/$1.html [NC]
各位有什么想法吗?

试试这个:

RewriteCond %{QUERY_STRING} page=(.*)
RewriteRule .* /html/%1.html [NC]
RewriteRule
只匹配并重写URI。查询字符串(问号后面的内容)不是URI的一部分,因此它永远不会与
RewriteRule
模式匹配。当查询字符串与某个内容匹配时,必须使用
RewriteCond
有条件地计算规则(在本例中,对每个URI)