2016-02-01 78 views
0

我正面臨着apache重寫規則的問題。我期待下面的結果Apache mod-rewrite規則不起作用

If URL is 
      http://www.mysite.co/testWeb/query1/guery2/3 
Then Result 
      http://www.mysite.co/testWeb/index.html/#/query1/guery2/3 

(index.html的/# - 已在URL中添加,它的路徑包含testWeb)

我添加的規則爲遵循

RewriteEngine On 
RewriteRule ^testWeb/(.*)$ http://%{HTTP_HOST}/testWeb/index.html/#/$1 [L] 

這條規則在重寫規則在線測試器中工作正常。但不是在我的Apache。任何想法?

+1

發生了什麼呢? –

+0

「不工作」究竟意味着什麼? – arkascha

+0

必須首先在http服務器主機配置中啓用「.htaccess」樣式文件的解釋。原因是這些文件確實會降低服務器的速度,因此它們在默認情況下處於停用狀態。 – arkascha

回答

0

看起來規則是在您的服務器上創建重定向循環錯誤,因爲您的Regex模式也與目標網址/testweb/index.html相匹配。

您需要使用負面的RewriteCond來防止這種情況。

RewriteEngine On 
RewriteCond %{REQUEST_URI} !^/testWeb/index\.html$ [NC] 
RewriteRule ^testWeb/(.*)$ http://%{HTTP_HOST}/testWeb/index.html/#/$1 [NC,L,NE]