2014-03-01 87 views
0

我有一個laravel安裝和一個wordpress並排居住。 根我有一個.htaccess如下:.htaccess重寫文件夾到不同的index.php

<IfModule mod_rewrite.c> 
    <IfModule mod_negotiation.c> 
    Options -MultiViews 
</IfModule> 

RewriteEngine On 

# Redirect Trailing Slashes... 
RewriteRule ^(.*)/$ /$1 [L,R=301] 

# Handle Front Controller... 

RewriteCond %{REQUEST_URI} !^/cms 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L] 

RewriteCond %{REQUEST_URI} ^/cms 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^cms.php [L] 

</IfModule> 

我需要通過的index.php路由所有的請求,除非它們與/ CMS/ 然後我需要它的前綴通過cms.php發送這是Wordpress的舊版index.php。

我想上面的代碼會做的伎倆,但我似乎錯了:)

不知道我要去的地方錯了

感謝

+0

除此之外,如果你嘗試去到一個目錄,規則看起來不錯 –

+0

這似乎是我的問題:)我在哪裏造成這種情況發生? – Jjames

回答

1

這似乎是我的問題:)我在哪裏造成這種情況發生?

有幾件事情發生在這裏,但它涉及到這樣的規則:

# Redirect Trailing Slashes... 
RewriteRule ^(.*)/$ /$1 [L,R=301] 

此規則將刪除所有尾隨通過重定向到相同的URL沒有它削減。還有在Apache的這個模塊mod_dir這將自動重定向任何請求的目錄沒有尾部斜槓相同的URL 與尾隨斜槓

這意味着你有2種選擇:

  1. 關閉mod_dir,並允許無拖尾要訪問目錄削減
  2. 不重定向尾隨斜槓的目錄。

#1,你會碰到這個安全警告:

關閉尾隨斜線重定向可能會導致信息泄露。考慮mod_autoindex處於活動狀態(Options + Indexes)和DirectoryIndex設置爲有效資源(比如index.html)並且沒有爲該URL定義其他特殊處理程序的情況。在這種情況下,帶有斜線的請求會顯示index.html文件。但是沒有斜槓的請求會列出目錄內容。

因此,換句話說,如果你有自動索引,人們將能夠看到文件列表中的目錄,即使你有一個index.html文件(或其他目錄索引使用)。

#2,你只需要添加一個條件:從永久重定向循環

# Redirect Trailing Slashes... 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)/$ /$1 [L,R=301] 
相關問題