2013-10-31 84 views
1

我有一些麻煩理解如何動態地將簡單的一個語言網站放在一起。我真的很感激,如果有人可以在寶寶的語言給我解釋一下什麼下面的代碼的每一個部分是指:請爲總入門者解釋這個.htaccess文件

RewriteEngine On 

RewriteCond %{REQUEST_URI} !\.(php|css|js|gif|png|jpe?g|pdf)$ 

RewriteRule (.*)$ templates/index.php [L] 

預先感謝您!

回答

5
# 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 
+0

太感謝你了,我覺得在同一時間笨,而不是笨 – Kristine

+0

很好的解釋 – max

0
  1. 啓用RewriteEngine敘述

  2. 當規則被啓動,在你的事業它檢查的文件擴展名的RewriteCond定義(如果在這種情況下不,由於!)

  3. 當RewriteCond是真實的,請求被重定向到模板/ index.php

+0

非常感謝! – Kristine

0
RewriteEngine On 

打開

RewriteCond %{REQUEST_URI} !\.(php|css|js|gif|png|jpe?g|pdf)$ 

相配其結束與.PHP,的CSS等

  • ! =阻卻下面的表達式(「匹配不是所有請求重寫引擎「)
  • \. =單點(必須轉義才能從字面上理解。沒有反斜槓就可以匹配每個字符)
  • (php|css|js|gif|png|jpe?g|pdf) =其中一個選項。 jpe?ge是可選的,所以它匹配jpgjpeg
  • $ =請求的結束。

RewriteRule (.*)$ templates/index.php [L]

重定向所有請求的正則表達式不匹配templates/index.php[L]表示這是最後一條規則,所以不會應用此.htaccess中的其他規則。

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」將被「模板/指數更換結束。PHP的」

的[L]表示這是最後一個重寫規則在這裏

更多的解釋:!http://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/