2014-12-05 78 views
0

我目前正在從用於centos的parallels plesk移至用於windows的parallels plesk。我碰到的唯一障礙是我意識到.htaccess將不再工作。 這裏是我的.htaccess:將.htaccess轉換爲web.config

options -indexes +FollowSymLinks 
RewriteEngine on 


RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 

RewriteRule ^(verify)/(.*)/([a-zA-Z0-9_-]+)$ validate_account.php?usr=$3&hash=$4 [QSA,L] 
RewriteRule ^(post)/([a-zA-Z0-9_-]+)$ news.php?post=$2 [NC,QSA,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^uploads/avatars/(.+)$ ../uploads/avatars/$1 [L,NC] 

Redirect 301 /signup /register 

RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
RewriteRule^http://%1%{REQUEST_URI} [R=301,L] 

errordocument 404 /404.php 
errordocument 403 /404.php 
errordocument 500 /404.php 

allow from all 
#deny from all 
#allow from 98.115.168.25 
deny from 162.144.91.203 #attempted brute force 
deny from 74.208.100.64 #attempted brute force 
deny from 185.57.82.25 #tried to ddos 

這裏是我與網站產生的web.config中:

<rule name="rule 1F"> 
    <match url="^(.*)$" /> 
    <action type="Rewrite" url="/{R:1}.php" /> 
</rule> 
<rule name="rule 2F" stopProcessing="true"> 
    <match url="^(verify)/(.*)/([a-zA-Z0-9_-]+)$" /> 
    <action type="Rewrite" url="/validate_account.php?usr={R:3}&amp;hash={R:4}" appendQueryString="true" /> 
</rule> 
<rule name="rule 3F" stopProcessing="true"> 
    <match url="^(post)/([a-zA-Z0-9_-]+)$" ignoreCase="true" /> 
    <action type="Rewrite" url="/news.php?post={R:2}" appendQueryString="true" /> 
</rule> 
<rule name="rule 4F" stopProcessing="true"> 
    <match url="^uploads/avatars/(.+)$" ignoreCase="true" /> 
    <action type="Rewrite" url="/../uploads/avatars/{R:1}" /> 
</rule> 
<rule name="rule 5F"> 
    <match url="(.*)" /> 
    <action type="Rewrite" url="/https://%{HTTP_HOST}%{REQUEST_URI}" /> 
</rule> 
<rule name="rule 6F" stopProcessing="true"> 
    <match url="^" /> 
    <action type="Rewrite" url="/http://%1%{REQUEST_URI}" /> 
</rule> 

它給了我500內部服務器錯誤,每當我嘗試訪問該網站,任何幫助將不勝感激。

回答

0

試試這個,讓我知道

<rule name="rule 1X"> 
     <match url="^(.*)$" /> 
     <action type="Rewrite" url="/{R:1}.php" /> 
    </rule> 
    <rule name="rule 2X" stopProcessing="true"> 
     <match url="^(verify)/(.*)/([a-zA-Z0-9_-]+)$" /> 
     <action type="Rewrite" url="/validate_account.php?usr={R:3}&amp;hash={R:4}" appendQueryString="true" /> 
    </rule> 
    <rule name="rule 3X" stopProcessing="true"> 
     <match url="^(post)/([a-zA-Z0-9_-]+)$" ignoreCase="true" /> 
     <action type="Rewrite" url="/news.php?post={R:2}" appendQueryString="true" /> 
    </rule> 
    <rule name="rule 4X" stopProcessing="true"> 
     <match url="^uploads/avatars/(.+)$" ignoreCase="true" /> 
     <action type="Rewrite" url="/../uploads/avatars/{R:1}" /> 
    </rule> 
    <rule name="rule 5X"> 
     <match url="(.*)" /> 
     <action type="Rewrite" url="/https://%{HTTP_HOST}%{REQUEST_URI}" /> 
    </rule> 
    <rule name="rule 6X" stopProcessing="true"> 
     <match url="^" /> 
     <action type="Rewrite" url="/http://%1%{REQUEST_URI}" /> 
    </rule> 
+0

會迴應: HTTP錯誤500.50 - URL重寫模塊錯誤。 由於發生內部服務器錯誤,無法顯示頁面。 詳細錯誤信息 模塊\t RewriteModule 通知\t的BeginRequest 處理程序\t StaticFile 錯誤代碼\t 0x800700a1 請求的URL \t http://domain.com:80/ 物理路徑\t C:\的Inetpub \虛擬主機\ domain.com \ httpdocs 登錄方法\t尚未確定 登錄用戶\t尚未確定 – Steve 2014-12-05 06:20:07

+0

您是否安裝了IIS URL重寫模塊? – 2016-08-29 17:03:40