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
重写PHP all GET parameters.htaccess_Php_.htaccess_Mod Rewrite_Get - Fatal编程技术网

重写PHP all GET parameters.htaccess

重写PHP all GET parameters.htaccess,php,.htaccess,mod-rewrite,get,Php,.htaccess,Mod Rewrite,Get,可能重复: 希望在.htaccess文件中发生这种情况。 改写 index.php?pagetype=name 到 对所有页面类型执行此操作,以便 ?user=name ?post=number ?life=sucks ... etc 但我想排除 /css/ /images/ /js/ /php/ /template/ 因此,可变链接仍然有效 我猜这应该行得通,但我希望它是最简单的形式,这样我就不必每次添加页面类型时都更改.htaccess文件 我搜索了一下,但没有找到任何有用的东西 该

可能重复:

希望在.htaccess文件中发生这种情况。 改写

index.php?pagetype=name

对所有页面类型执行此操作,以便

?user=name
?post=number
?life=sucks ... etc
但我想排除

/css/
/images/
/js/
/php/
/template/
因此,可变链接仍然有效

我猜这应该行得通,但我希望它是最简单的形式,这样我就不必每次添加页面类型时都更改.htaccess文件

我搜索了一下,但没有找到任何有用的东西


该站点将只有一个物理访问的文件:index.php,然后通过$\u GET命令处理其余文件。对于您指定的示例,最简单的方法是:

 RewriteCond  %{REQUEST_URI}   !^/(css|images|js|php|template)/
 RewriteRule  ^(\w+)/(\w+)/?$  index.php?$1=$2  [QSA,L]
(RewriteCond可以在规则中写为负lookeahead,而不是当然。)


另请参阅,以了解更多的操作指南。

太棒了-非常感谢,您是否可以添加一些评论来解释一下。工作很出色,谢谢。哪些部分需要解释?都是吗?这就是这本手册的目的。虽然问这个问题会很麻烦,但我会仔细阅读一下。htaccess不是我已经看过的任何细节,但谢谢。还有一件事-我如何才能向后做,好像site.com/index.php?page=name重写为site.com/page/name/一点也不。mod_重写传入的URL,而不是传出的URL。更改生成链接的应用程序代码。否,您希望将(传入的SEO/SEF格式URI)
/pagetype/name/
重写为
/index.php?pagetype=name
(php代码可以消化)。请正确使用术语!
 RewriteCond  %{REQUEST_URI}   !^/(css|images|js|php|template)/
 RewriteRule  ^(\w+)/(\w+)/?$  index.php?$1=$2  [QSA,L]