1
我有一個htaccess文件設置並運行在一個活的服務器上。一切都運行良好,但我必須添加一些特定的URL重定向到它。具體的重定向已經在IIS web.config文件中設置。一個例子:URL重定向在htaccess
<rule name="URL re-direct" stopProcessing="true">
<match url="^program_consumer((\.cfm)|(\.php)|()+)((\?.*)|())$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Redirect" url="site_programs{R:7}" />
</rule>
我很難把這個翻譯成mt htaccess文件。我已經試過:
AddDefaultCharset OFF
Options +FollowSymLinks
RewriteEngine On
RewriteBase/
# Resolve .php file for extensionless php urls
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L]
# Re-direct Non-file Non-directories
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([program_consumer]+)((\.cfm)|(\.php)|()+)((\?.*)|())$ http://{HTTP_HOST}/site_programs$1 [L,R=301]
顯然,program_consumer不是根文檔目錄的任何地方存在的文件,但site_programs確實存在,並擔任一個擴展名的PHP文件。有什麼想法,我失蹤了?
這句法重寫規則拋出500錯誤。我甚至無法加載主頁。 – 2014-11-04 22:19:00
對不起,第一條規則中有一個額外的括號。現在是固定的,再試一次。 – anubhava 2014-11-05 04:08:41