我有一些麻烦,了解如何动态组合简单的一个语言网站。如果有人能用婴儿语言向我解释下面代码的每一部分是什么意思,我真的很感激:
RewriteEngine On
RewriteCond %{REQUEST_URI} !\.(php|css|js|gif|png|jpe?g|pdf)$
RewriteRule (.*)$ templates/index.php [L]
提前谢谢!
答案 0 :(得分:7)
# Enable RewriteEngine to rewrite URL patterns
RewriteEngine On
# Every URI that not (! operator) ends with one of .php, .css, .js, .gif, .png, .jpg, .jpeg or .pdf
RewriteCond %{REQUEST_URI} !\.(php|css|js|gif|png|jpe?g|pdf)$
# Will be redirected to templates/index.php
RewriteRule (.*)$ templates/index.php [L]
# Sample
# /foo/bar.php -> /foo/bar.php
# /foo/bar.html -> templates/index.php
答案 1 :(得分:1)
RewriteEngine On
打开重写引擎
RewriteCond %{REQUEST_URI} !\.(php|css|js|gif|png|jpe?g|pdf)$
将所有以 结尾的请求与.php,.css等匹配。
!
=否定以下表达式(“匹配不是”)\.
=一个单点(必须进行转义才能按字面意思进行。没有反斜杠,它会匹配每个字符)(php|css|js|gif|png|jpe?g|pdf)
=其中一个选项。 jpe?g
表示e
是可选的,因此匹配jpg
和jpeg
$
=请求的结束。 RewriteRule (.*)$ templates/index.php [L]
将所有与正则表达式不匹配的请求重定向到templates/index.php
。 [L]
表示它是最后一条规则,因此不会应用此.htaccess中的其他规则。
答案 2 :(得分:0)
启用RewriteEngine
RewriteCond定义何时启动RewriteRule,因为它会检查文件扩展名(如果不是,因为!)
当RewriteCond为true时,请求被重定向到templates / index.php
答案 3 :(得分:0)
您的htaccess会重写您网站页面的网址。
RewriteEngine On
简单地说,您的Web服务器Apache现在将打开他的重写引擎。
然后是重写规则,它有一个条件。首先,条件:
RewriteCond %{REQUEST_URI} !\.(php|css|js|gif|png|jpe?g|pdf)$
条件位于客户端请求的URL上。这意味着如果所述URL不以.php,.css,.js,.gif,.png,.pdf,.jpg或.jpeg结尾,则将应用以下规则。
RewriteRule (.*)$ templates/index.php [L]
此规则意味着URL的末尾(可能是“.literally_anything”)将替换为“templates / index.php”
[L]表示这是最后一次重写规则。
此处有更多解释:http://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/