2013-02-05 32 views
0

我最近買了一個php網站,它在.htaccess中使用RewriteRule來重定向url,比如domain.com/login被重定向到domain.com/login.php或/ register到/register.php等等。這些都是我的.htaccess文件的內容:我的.htaccess中的RewriteRule命令不起作用

options -multiviews 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^users$ users.php 
RewriteRule ^login$ login.php 
RewriteRule ^logout$ logout.php 
RewriteRule ^log_out$ log_out.php 
RewriteRule ^forgot$ forgot.php 
RewriteRule ^manage_gigs$ manage_gigs.php 
RewriteRule ^manage_orders$ manage_orders.php 
RewriteRule ^new$ new.php 
RewriteRule ^suggestions$ index.php 
RewriteRule ^search$ search.php 
RewriteRule ^edit$ edit.php 
RewriteRule ^edit_extra$ edit_extra.php 
RewriteRule ^bookmark$ bookmark.php 
RewriteRule ^bookmarks$ bookmarks.php 
RewriteRule ^settings$ settings.php 
RewriteRule ^balance$ balance.php 
RewriteRule ^order$ order.php 
RewriteRule ^orders$ orders.php 
RewriteRule ^inbox$ inbox.php 
RewriteRule ^conversations/([^/.]*)?$ conversations.php?u=$1&%{QUERY_STRING} 
RewriteRule ^upload$ upload.php 
RewriteRule ^check_new$ check_new.php 
RewriteRule ^spam$ spam.php 
RewriteRule ^thank_you$ thank_you.php 
RewriteRule ^track$ track.php 
RewriteRule ^send_track$ send_track.php 
RewriteRule ^confirmemail$ confirmemail.php 
RewriteRule ^rss$ rss.php 
RewriteRule ^terms_of_service$ terms_of_service.php 
RewriteRule ^privacy_policy$ privacy_policy.php 
RewriteRule ^about$ about.php 
RewriteRule ^contact$ contact.php 
RewriteRule ^advertising$ advertising.php 
RewriteRule ^signup$ signup.php 
RewriteRule ^forgotpassword$ forgotpassword.php 
RewriteRule ^feature$ feature.php 
RewriteRule ^feature_success$ feature_success.php 
RewriteRule ^purchases$ purchases.php 
RewriteRule ^suggested$ suggested.php 
RewriteRule ^mysuggestions$ mysuggestions.php 
RewriteRule ^myreferrals$ myreferrals.php 
RewriteRule ^levels$ levels.php 
RewriteRule ^categories/([^/.]+)?$ cat.php?cid=$1&%{QUERY_STRING} 
RewriteRule ^user/([^/.]+)?$ user.php?uname=$1&%{QUERY_STRING} 
RewriteRule ^tags/([^/.]+)/([^/.]+)?$ tags.php?cid=$1&tag=$2&%{QUERY_STRING} 
RewriteRule ^([^/.]+)/([^/.]+)/([^/.]*)?$ view.php?title=$1&id=$2&%{QUERY_STRING} 
</IfModule> 
<IfModule mod_security.c> 
    # Turn off mod_security filtering. 
    SecFilterEngine Off 

    # The below probably isn't needed, 
    # but better safe than sorry. 
    SecFilterScanPOST Off 
</IfModule> 

但點擊任何鏈接都到了404錯誤(網頁未找到),因爲URL不重定向。我正在使用cPanel。我必須激活一些功能才能使其工作?這裏可能有什麼錯誤?謝謝。

+1

IS'的LoadModule rewrite_module模塊/ mod_rewrite.so'激活? – Peon

+0

嗨,你能告訴我如何檢查它,如果不是,如何激活它?謝謝 ! – misteeque

+0

使用mod_rewrite效率不高,對於大多數重定向,您可以改用Redirect指令。重定向[原創] [目標]例如:重定向/用戶users.php – Dom

回答

1

看來你沒有啓用重寫規則。

  1. 打開httpd.conf;

  2. 查找該行,其中mod_rewrite.so被提及;

  3. 刪除前面的#標籤(#

  4. 重新啓動您的網絡服務器;

+0

你好,我使用cPanel,但我是新的。你能告訴我在哪裏可以找到文件httpd.conf?謝謝。 – misteeque

0

變化 RewriteBase / 通過 RewriteBase/Your folder /