2011-04-11 65 views
3

我被卡住正確設置我的htaccess。目前,我有以下的情況和文件結構在我的htdocs文件夾:htaccess:多個子文件夾和網站訪問

  • 的.htaccess
  • /網站
  • /客戶/布拉布拉
  • /somefolder

正如你可能已經猜到,文件夾「網站」包含導航到http://mydomain.com時應該可以訪問的所有文件 - 這與目前的htaccess很好地工作:

RewriteEngine on 

# remove www 
RewriteCond %{HTTP_HOST} ^www.mydomain.com$ [NC] 
RewriteRule ^(.*)$ http://mydomain.com/$1 [R=301,L] 

# subfolder 
RewriteCond %{HTTP_HOST} ^mydomain.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.mydomain\.com$ 
RewriteCond %{REQUEST_URI} !^/website/ 
RewriteRule (.*) /website/$1 

# clean urls 
RewriteRule ^website/([a-z0-9\-]+)$ website/$1.php 

我的問題:雖然我希望我的網站被訪問的方式,現在我也希望能夠訪問http://mydomain.com/clients/blalahttp://mydomain.com/somefolder等...從我目前的htaccess這導致404錯誤說「請求URL /網站/客戶端/ blabla在此服務器上找不到。「

我需要添加/更改我的htaccess才能使其工作?

在此先感謝

回答

4

我想你只需要添加一對夫婦更多的條件將它們排除在外。

RewriteCond %{REQUEST_URI} !^/clients/ 
RewriteCond %{REQUEST_URI} !^/somefolder/ 

並且在你的Rewrite規則的子文件夾部分有這些。如果它已經包含/clients//somefolder/

+0

是的,作品。謝謝 – maze 2011-04-11 06:31:57

4

這將阻止它嵌入到URI中的/website/這個工作。

RewriteEngine on 

# remove www 
RewriteCond %{HTTP_HOST} ^www.mydomain.com$ [NC] 
RewriteRule ^(.*)$ http://mydomain.com/$1 [R=301,L] 

# subfolder 
RewriteCond %{HTTP_HOST} ^mydomain.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.mydomain\.com$ 
RewriteCond %{REQUEST_URI} !^/website/ 
RewriteCond %{REQUEST_URI} !^/somefolder/ 
RewriteCond %{REQUEST_URI} !^/client/blabla/ 
RewriteRule (.*) /website/$1 

# clean urls 
RewriteRule ^website/([a-z0-9\-]+)$ website/$1.php 
+0

是的,工作。謝謝! – maze 2011-04-11 06:27:12

相關問題