2011-06-16 84 views
1

當我打電話根我的網頁的我得到了錯誤403:htaccess的mod_rewrite的:重定向根到文件夾

紫禁城 您沒有權限訪問/在此服務器上。

我htaccess的樣子:

RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} ^/$ 

RewriteRule (.*) dir/file.php 

Options -Indexes 

我如何可以重定向根到一個文件夾,並沒有錯誤403? 並沒有鬆動的

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

回答

0

最有可能的功能(根據我的經驗),你不必在請求目錄將要執行的默認文件。

1)您可能需要將此指令添加到您的.htaccess中。這將告訴Apache在請求目錄時執行index.php。

DirectoryIndex index.php 

2)確保你有index.php存在於這樣的目錄,否則你將看到403錯誤。

你是什麼意思的「我怎樣才能將根重定向到一個文件夾」?這裏如果你要求你的站點的根文件夾,將執行/special/index.php文件中的規則(例如http://example.com/

RewriteRule ^$ /special/index.php [QSA,L] 

UPDATE:

RewriteRule ^mydir/(index\.php)?$ http://www.example.com/ [R=301,QSA,NC] 

這將告訴Apache 重定向(在瀏覽器的地址欄中更改URL)從http://www.example.com/mydir/index.phphttp://www.example.com/mydir/改爲http://www.example.com/

RewriteRule ^$ mydir/index.php [QSA,L] 

這將告訴Apache當您點擊根文件夾(例如,文件夾)時執行/mydir/index.phphttp://www.example.com/)而不更改地址欄中的URL。

如果你想讓它與您現有的規則一起工作,你將不得不把這條規則之上等 - 例如,後RewriteBase /

1

右重定向一切,除了:

  • 現有文件
  • 在它

的.htaccess的index.php的現有迪爾斯內容:

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*) /special/index.php 
RewriteRule ^$ /special/index.php [QSA,L] 
Options -Indexes 
相關問題