2014-02-07 106 views
1

我承認干擾,我的.htaccess /正則表達式是我在遊戲發展的薄弱環節。這是一個問題,特別是今天。根網站的.htaccess與WordPress

RewriteEngine on 
RewriteRule ^$ index.php [L] 
RewriteCond $1 !^(index\.php|robots\.txt|favicon\.ico|xmlpdf\.cfm|public|dynamic|googlead5e4138365a1f11.html|sitemap.xml) 
RewriteRule ^(.*)$ index.php/$1 [L] 
Options -Indexes 

他們希望在/的public_html /庫存安裝WordPress:

我有在ASP客戶的根網站上的public_html訪問的應用如下。顯然,.htaccess的遞歸性質造成了巨大的衝突。問題是,我不完全確定如何解決這種性質的衝突。不是在這裏,任何人都需要檢討,但默認WP的.htaccess是:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

我希望有人能告訴我怎麼放棄根文件夾對WordPress的子文件夾一陣絞痛。

謝謝蕉。

回答

1

這應該是根的.htaccess:

Options -Indexes 
RewriteEngine on 

# skip WP dir 
RewriteRule ^inventory(/|$) - [L,NC] 

RewriteRule ^$ index.php [L] 

RewriteCond $1 !^(index\.php|robots\.txt|favicon\.ico|xmlpdf\.cfm|public|dynamic|googlead5e4138365a1f11.html|sitemap.xml) 
RewriteRule ^(.*)$ index.php/$1 [L] 

這應該是WP /inventory/.htaccess

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /inventory/ 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . index.php [L] 
</IfModule> 
+1

真棒,謝謝。這將在未來有所幫助。你能解釋RewriteRule ^清單(/ | $) - [L,NC]控件是如何工作的嗎?這看起來像開始 - 庫存 - 斜槓 - 結束字符串 - 最後 - 大小寫不敏感。我不知道爲什麼它會導致庫存目錄在處理中被忽略。基本上,我沒有線索,但我真的很想一個:) – Imperative

+0

雅肯定。 'NC'用於忽略大小寫匹配。正則表達式是'^ inventory(/ | $)',這意味着匹配URI以'inventory'開頭,後面跟着'/'OR輸入結尾。所以它會匹配任何'/庫存/庫存/,/庫存/什麼的,/ INVENTORY'等'-'是不採取行動,如果任何那些比賽被發現。 – anubhava

+0

好吧,你基本上寫了一個沒有條件的規則,並且沒有采取任何行動? – Imperative