2012-12-28 59 views
1

我的這些工作重寫規則:的RewriteCond排除網址在.htaccess

# Allow access to assets folder from plugins folders 
RewriteRule ^app/plugins/(.+)/assets - [L] 

# forbid access to files and folders under app 
RewriteRule ^app/.*$ - [L,F] 

# rewrite to index.php 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?action=$1 [L,QSA] 

現在我想從這些規則位於http://www.mywebsite.com/wordpress/下的一切排除...... 所以我添加了一個新的重寫條件:

... 
# rewrite to index.php 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !^\/wordpress\/ [NC] 
RewriteRule ^(.*)$ index.php?action=$1 [L,QSA] 

但它沒有工作。當我嘗試訪問是這樣的: http://www.mywebsite.com/wordpress/contact-us/

它重定向我的index.php ...

任何幫助將非常感激。

回答

1

好,我終於發現了這一切發生了什麼事情不對: 其實我沒注意到.htaccess文件存在於我的/ WordPress的目錄。 所以在我的根目錄下的.htaccess我已經添加了此規則將所有其他的頂部:

RewriteRule ^wordpress - [L] 

然後在WordPress目錄的.htaccess我有以下規則:

RewriteBase /wordpress/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /wordpress/index.php [L] 

我不知道是否一切都優化,但它的工作原理!

0

試試這個:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !/wordpress/ [NC] 
RewriteRule ^(.*)$ index.php?action=$1 [L,QSA] 
+0

謝謝你的回答,但它不能解決我的問題。仍然重定向,而不應該! – user1933895