簡體   English   中英

apache rewritemap使用txt文件-匹配失敗

[英]apache rewritemap using txt file - match fail

我正在嘗試使用一個簡單的txt文件為一個特殊項目建立一個rewritemap,該項目最終將包含大約150個重定向。

我已經閱讀了這里的其他文章,並嘗試應用替代的mod,但是我無法像預期的那樣從此實際工作中進行單個重定向:-/

確認我的設置:

我正在使用一個include .conf來為適當的虛擬主機更新我的httpd.conf。 在運行/ scripts / rebuildhttpdconf(和“ service httpd restart”)后,它將正確應用,並且httpd.conf中的適當“包含路徑”引用將變為未注釋狀態,這表明我正在按預期方式找到包含文件。 包含文件稱為“ redirecttest2.conf”,其中包含:

RewriteMap redirect2 txt:/home/example/public_html/redirecttest/redirect2.txt

在上面引用的位置,我有文件“ redirect2.txt”,出於測試目的,該文件包含:

maintenance.html    http://www.example.com/maintenance2.html
maintenance1.html   http://www.example.com/maintenance2.html

所以我的期望是,當輸入“ example.com/maintenance.html”時,它將被重定向到maintenance2.html等。

在受影響域根目錄下的.htaccess文件中,我當前具有以下內容:

RewriteEngine on
RewriteCond %{REQUEST_URI} !(\.(js|css|less|png|php|swf|flv|jpg))$
RewriteCond {redirect2:$1} !=""
RewriteRule ^/(.*) ${redirect2:$1} [R=301,L]

但是,這目前沒有任何效果。 輸入example.com/maintenance.html或maintenance1.html不會執行任何重定向-不管是否注釋了前兩個條件。

我嘗試了多種變體,有時甚至可以完全打破它(重寫循環錯誤,白屏,甚至是重定向有效的情況,但不使用maintenance2.html,而是將/ home / example / public_html附加到url -???)-但我無法獲得上面的示例以按預期方式進行重定向。

我嘗試從VPS的主機獲得幫助,但它們不提供對此類修改的支持。

我希望有人可以看一下上面的內容,也許會看到我所缺少的明顯的東西? 任何想法都感激...

我終於可以使用RewriteMap解決問題。

在受影響域根目錄的.htaccess文件中,我現在使用以下內容:

RewriteEngine On
RewriteCond %{REQUEST_URI} !(\.(js|css|less|png|php|swf|flv|jpg))$
RewriteCond ${redirect2:$1} >"" [NC]
RewriteRule ^(.*) ${redirect2:$1} [R=301,L]

現在似乎可以正常工作-至少對於基本url而言。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM