Dot-Htaccess
在 Lighttpd 上重寫 Anchor CMS 的規則
我在執行 Lighttpd 的伺服器上安裝了 Anchor CMS,我正在嘗試設置漂亮的 url。我在子目錄“/blog”中安裝了錨。
與 apache 中的錨 cms 一起使用的 htaccess 文件是:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /blog # Checks to see if the user is attempting to access a valid file, # such as an image or css document, if this isn't true it sends the # request to index.php RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [L] </IfModule> <IfModule !mod_rewrite.c> ErrorDocument 404 /index.php </IfModule>
這是我在 lighttpd 中的重寫規則:
url.rewrite-if-not-file += ( "^/blog/(.*)$" => "/blog/index.php/$1")
url 現在很漂亮,但沒有載入任何靜態內容,即 css、javascript 和圖像。我認為 using
url.rewrite-if-not-file
會涵蓋這一點,但它似乎不適用於我的安裝。http://redmine.lighttpd.net/projects/1/wiki/Docs_ModRewrite#urlrewrite-repeat-if-not-file以下網址及其文件需要保持完整:
- /blog/themes/default/{ js | CSS | 圖像}
- /blog/anchor/views/assets/{ js | CSS | 圖像}
主題目錄可以根據目前使用的主題而改變。因此,它可以是“範例”,而不是“預設”。我對正則表達式不是很好,所以我真的可以使用一些幫助。我在想這樣的事情可能會奏效:
url.rewrite-once += ("^/blog/themes/(.*.)/(css|js|img)/(.*)" => "$0")
對此的任何幫助將不勝感激。Lighttpd 使用類似於 perl 的正則表達式
我使用以下重寫規則得到了這個:
url.rewrite-if-not-file += ( "^/(.*)\.(css|js|jpg|png|gif)$" => "$0", "^/blog/(.*)$" => "/blog/index.php/$1" )
我希望這可以幫助其他人在 lighttpd 上執行錨 cms