2013-04-17 277 views
1

我需要一些幫助編寫一個的.htaccess規則:IIS規則轉換爲.htaccess規則

  1. 刪除從文件名
  2. 重複寫變量的PHP擴展。

所以,像www.example.com/contact-us/456/789一個URL將被服務器interpereted爲www.example.com/contact-us.php?a=123&b=456&c=789

下IIS的web.config規則工作的治療(使用重寫映射):

<rule name="Dynamic Rewriting" stopProcessing="true"> 
    <match url="^([^/]+)(?:/?([^/]+)?)(?:/?([^/]+)?)(?:/?([^/]+)?)/?$" /> 
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> 
     <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
     <add input="{DynamicRewriting:{R:1}}" pattern="(.+)" /> 
    </conditions> 
    <action type="Rewrite" url="/{C:1}.php?page={C:1}&amp;a={R:2}&amp;b={R:3}&amp;c={R:4}" /> 
</rule> 

<rewriteMap name="DynamicRewriting"> 
    <add key="contact-us" value="contact-us" /> 
</rewriteMap> 

人讓我看看我需要的.htaccess規則?

回答

1

嘗試:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} ^/([^/]+) 
RewriteCond %{DOCUMENT_ROOT}/%1.php -f 
RewriteRule ^/?([^/]+)(?:/?([^/]+)?)(?:/?([^/]+)?)(?:/?([^/]+)?)/?$ /$1.php?page=$1&a=$2&b=$3&c=$4 [L,QSA] 
+0

這工作一種享受 - 你是男人! – Sjwdavies