我目前正在看一個htaccess文件。它包含此內容什麼是「!」在重寫Rule中做什麼?
RewriteEngine On
RewriteRule !\.(css|jpg|png|xml)$ index.php
什麼是「!」做和這是一個有效的重定向的CSS和其他重要文件?
我目前正在看一個htaccess文件。它包含此內容什麼是「!」在重寫Rule中做什麼?
RewriteEngine On
RewriteRule !\.(css|jpg|png|xml)$ index.php
什麼是「!」做和這是一個有效的重定向的CSS和其他重要文件?
!
基本上意味着NOT
。換句話說,只要以下不匹配,應用規則。
# anything that does NOT end in .css, .jpg, .png, or .xml
# send to index.php
RewriteRule !\.(css|jpg|png|xml)$ index.php
他說了什麼?而且,我記得,你可以控制NOT應該瞄準的部分 – mowgli
更具體地講,它說,如果不那些擴展然後重寫index.php文件。
在這個例子中,
RewriteRule !\.(css|jpg|png|xml)$ index.php
這也可以因此,無論如何要忽略你可以做的文件寫成
#if these file extensions don't do anything and stop processing rules
RewriteCond %{REQUEST_URI} \.(css|jpg|png|xml)$
RewriteRule^- [L]
#else send everything to php
RewriteRule . /index.php [L]
。但是你的規則更短。這是有效的回答你的問題,以便某些文件不會路由到index.php。
這很有趣,你能告訴我第一個RewriteRule中的「 - 」是什麼嗎? – MooCow
這只是意味着不做任何事情,因爲沒有替代字符串。 –
http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriterule它在'RewriteRule'文檔部分的一半左右。不容易找到。 –