2012-08-16 161 views
1

我使用的是Mac OSX獅子和本地的Apache,安裝PHP5重寫引擎是工作還是有一個問題,這個問題是更好的顯示比解釋,所以我下面有一個和這條規則作品和其他沒有:永久重寫規則具有相同的文件名規則

RewriteRule ^imovel/([a-z_A-Z0-9_-]+)/([a-z_A-Z0-9_-]+)/([a-z_A-Z0-9_-]+)/$ /imovel.php?imovel=$1 

此規則dosent工作就轉到文件imovel.php,但它不傳遞變量,所以如果我改變了^ imovel /其他任何事情一樣^ blerg /工程好像就像下面

RewriteRule ^blerg/([a-z_A-Z0-9_-]+)/([a-z_A-Z0-9_-]+)/([a-z_A-Z0-9_-]+)/$ /imovel.php?imovel=$1 

這個規則工作正常,但這個問題只是sh在我工作的Mac上運行。有了Windows 7的這些相同的規則,工作很好。有沒有我需要在Apache中做任何配置來改變這一點?

+0

你可以給你要,這應該與工作URL的一個例子嗎? – 2012-08-16 22:47:37

+0

blabla.local/imovel/47 /公寓/ executive_lunai/- >這個力工作 – user1604470 2012-08-17 12:29:22

+0

blabla.local/blerg/47 /公寓/ executive_lunai/- >這個作品 – user1604470 2012-08-17 12:29:49

回答

0

您的網站必須有MultiViews啓用。如果是這樣,/imovel.php將在/imovel打字,因此,它加載/imovel.php,而不是你重寫代碼加載。但刪除MultiViews你會消除這個問題。

爲了解決這個問題我一直在使用終端的幾行代碼添加到我的httpd.confvhost.conf或我user.conf文件下<Directory "/Users/User/Sites">文件。

sudo nano /etc/apache2/httpd.conf 
sudo nano /etc/apache2/users/user.conf 
sudo nano /private/etc/apache2/extra/httpd-vhosts.conf 

我不知道在哪裏可以找到在獅子這些文件,但在Mac OSX上特立獨行,它是在/etc/apache2/,但它並會在Apache2的文件夾,在這個文件中,曾文件之上有您的網站目錄,我不得不從options刪除MultiViews代碼。 /Users/User/Sites是我自己的文件夾,所以請忽略它並查找您自己的站點文件夾。

<Directory "/Users/User/Sites"> 
    Options Indexes FollowSymLinks SymLinksifOwnerMatch MultiViews 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
</Directory> 

所以現在看起來是這樣

<Directory "/Users/User/Sites"> 
    Options Indexes FollowSymLinks SymLinksifOwnerMatch 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
</Directory> 

一旦我這樣做,的index.php頁面可以不再通過輸入/指數加載。因此,我可以使用我最初在我的.htaccess文件中使用的代碼。一切都在天堂解決。

讓我知道是否有幫助。

0

this question

你有 mod_negotiation 安裝?如果是這樣,相信你的要求,爲新嘗試的工作 什麼文件,你真正的意思發送。確保你沒有設置 Options MultiViews。所以,在.htaccessOptions -MultiViews