2012-02-24 25 views
0

我剛剛設置了一個新的開發環境,因爲我一直無法訪問我的網站上的任何網頁與主頁。使用htaccess時沒有通過apache重定向RewriteRule

例如,如果我去:www.herpandderp.com/contact_us它會引發404錯誤。

沒有名爲/ contact_us的目錄,我的index.php中有代碼將URL作爲參數處理,並將其納入並根據需要包含/要求適當的代碼。

這是我的根.htaccess中的條目:

RewriteRule ^([^.]+)$ /index.php?url=$1 [L,QSA] 

如果我做的phpinfo,我得到下apache2handler以下(所以我知道安裝了mod_rewrite):

加載模塊芯的prefork http_core mod_so mod_auth_basic mod_auth_digest的mod_authn_file模塊mod_authn_alias mod_authn_anon mod_authn_dbm mod_authn_default mod_authz_host mod_authz_user mod_authz_owner mod_authz_groupfile mod_authz_dbm mod_authz_default mod_log_config mod_logio mod_env mod_mime_magic模塊指定mod_expires mod_deflate模塊mod_headers中mod_usertrack mod_setenvif mod_mime mod_status的 mod_autoindex mod_info mod_vhost_alias mod_negotiation模塊mod_dir mod_actions mod_speling mod_userdir mod_alias中mod_rewrite的 mod_cache的mod_disk_cache mod_file_cache提供mod_mem_cache模塊的mod_perl mod_php5 mod_ssl的

有什麼理由,如果我去/ contact_us,我不通過index.php?我在劇本的第一行有一個死亡,並沒有擊中它。但是,確實是,當我做www.herpandderp.com/?url=contact。

我覺得這是一個Apache配置問題,因爲代碼在其他環境中運行良好。

+0

冒險猜測:在'.htaccess'的那行之前是否有一行'RewriteEngine On'? – Wrikken 2012-02-24 17:34:41

+0

我剛剛嘗試過使用mod_php5和mod_suphp配置,它工作正常(使用'RewriteEngine On')。 – TerryE 2012-02-24 23:45:29

回答

1

請確保在您的httpd.conf中,相關網站有AllowOverride所有設置,否則重寫將無法覆蓋該網站的默認設置。

0

在你.htaccess添加第一行:

RewriteEngine On 

是它的工作?