重写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]