2013-03-29 55 views
1

我一直在嘗試在我的開發環境中啓用URL重寫。我使用EasyPHP 5.4.6。我正在嘗試創建一個簡單的重寫規則(重寫/ about-us/to about-us.php),它僅影響一個站點(別名)。我已將.htaccess文件放入該頁面的根文件夾中。我已經注意到這些東西: 1. mod_rewrite模塊IS加載在httpd.conf中 2. phpinfo()列出加載模塊中的mod_rewrite 3.我的規則有效(在線測試) 4. .htaccess存儲在頁面的根文件夾 5.網站的文件夾被定義爲 6.在這一定義,設置AllowOverride設置爲所有.htaccess與EasyPHP:重寫規則不起作用

你猜怎麼着,該重寫規則是行不通的配置文件中的別名,我不斷收到一個404錯誤。 任何想法可能會造成這種情況?

這是httpd.conf中

Alias "/website" "C:/local/website" 
<Directory "C:/local/website"> 
Options FollowSymLinks Indexes 
AllowOverride All 
Order deny,allow 
Allow from 127.0.0.1 
Deny from all 
Require all granted 

別名定義,這是我的.htaccess

RewriteEngine On 
RewriteBase/
RewriteRule ([a-zA-Z0-9\-]+)/? $1.php 
+0

兩件事:1)您的問題目前沒有說明您正在測試哪個網址。 2)你有沒有試過設置一個重寫日誌(http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritelog),看看你的規則是否被打到了? –

回答

3

您正在使用 「/網站」 的別名,我想你應該申報RewriteBase與在本地.htaccess文件中的值相同(即RewriteBase /website)。

1

我會推薦使用EasyPHP的'虛擬主機管理器'模塊