2014-01-13 46 views
1

我在我的htaccess如下:配置mod_rewrite的問題

DirectoryIndex index.py 
RewriteEngine On 
RewriteBase/
RewriteRule ^([0-9]+)$ index.py?id=$1 [L] 
RewriteCond %{THE_REQUEST} /index\.py [NC] 
RewriteRule ^(.*?)index\.py$ /$1 [L,R=302,NC,NE] 

一是規則將發出有人找

mydomain.com/<digits> 

到mydomain.com/index.php?id=,第二條規則修復的HREFs在index.py中。 但是當我添加

RewriteBase/
RewriteRule ^([^0-9]+)$ index.py [L] 

讓任何人所提出的要求不僅是數字去index.py,在index.py的div只是有點消失。問題是什麼?

回答

1

可能因爲您將所有內容重寫爲index.py,包括您的樣式表或腳本等。嘗試將規則更改爲:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^0-9]+)$ index.py [L] 
+0

能否請您解釋我!-f和!-d? – RomaValcer

+0

@RomaValcer它檢查請求不是針對現有文件('!-f'),而是針對現有目錄('!-d')。 –

+0

因此,只有在您不查找現有文件時才重寫它,好吧。 – RomaValcer