2013-01-22 312 views
1

我使用mod_rewrite將網址「url.com/foo」改寫爲「url.com/index.php?site=foo」。mod_rewrite錯誤和權限被拒絕

驗證碼:

RewriteEngine On 
RewriteBase/
RewriteRule ^([0-9a-zA-Z]+)$ index.php?site=$1 

如果我HREF點擊一個鏈接= 「/ foo」 的它會給我

http://url.com/foo/?site=foo 

代碼工作在相同的V-服務器上的其他網站,我已經安裝了Boilerplate,但我現在不使用它的.htaccess來修復mod_rewrite,所以它不能成爲樣板問題,或者?

我也試過下面的代碼:

RewriteEngine On 
RewriteBase/
RewriteRule ^(.*)$ index.php?site=$1 

該代碼,至少,改寫到index.php網站= foo的 但它仍然創造URL的像之間的不必要的文件夾上的例子。

編輯:確保每個人都明白的總體思路:

該文件是基於在http://url.com(index.php文件的.htaccess),所以我設置RewriteBase爲 「/」。 應該採取類似的鏈接

http://url.com/foo 

,並將其改寫爲

http://url.com/index.php?site=foo 

有沒有文件夾包括在內。

回答

1

我解決了它,哎呀我很愚蠢;)

我有一個名爲url.com/foo/文件夾和鏈接重定向IM是url.com/foourl.com/index.php?site=foo所以它總是試圖進入該文件夾。由於我重命名文件夾,它工作得很好。

0

我已經在重寫規則

得到一個類似的錯誤消息
pcfg_openfile: unable to check htaccess file, ensure it is readable 

我也有類似的重定向的URL部分子文件夾名稱重命名,但它並沒有解決這個問題(由克里斯的建議)。

多次嘗試後,問題就解決了(使用cPanel的文件夾的權限對話框)更新的子文件夾的權限爲755:

User: Read, Write, Execute 
Group: Read,  Execute 
World: Read,  Execute 

PS:我不知道,如果重命名的子文件夾中實際需要的這個場景因爲在重命名之前和之後,錯誤消息是相同的。