2017-02-04 47 views
1

我現在在大組鏈接上設置不同的重定向規則。因此,舉例來說,如果我想添加一個「 - 」,「臨時」的例子後:.htaccess - 重定向(刪除鏈接中的第一個「 - 」)

tempfile-abc1.php > temp-file-abc1.php 
tempfile-def2.php > temp-file-def2.php 
tempfile-ghi3.php > temp-file-ghi3.php 

我用下面的代碼:

RewriteRule ^(temp)(file-.+\.php)$ /$1-$2 [L,NC,R=301] 

但我想現在要做的就是要扭轉這種局面所以要從鏈接中刪除第一個「 - 」連字符。我需要1條規則/ cond作爲鏈接集例如:

temp-file-abc1.php > tempfile-abc1.php 
temp-file-def2.php > tempfile-def2.php 
temp-file-ghi3.php > tempfile-ghi3.php 

我會很感激任何建議/解決方案。

回答

0

這個作品形成了我:

RewriteRule ^(temp-file)(-.+\.php)$ /tempfile$2 [L,NC,R=301] 
+0

儘管此代碼可能會解決這個問題,一個很好的答案應該也包含一個解釋。 – BDL

+0

(臨時文件)1部分正在被stactic tempfile替換,( - 。+ \。php)是「 - 」之後的所有內容,例如$ 2 – Nita

2

以下規則我假設臨時文件是靜態的嘗試,

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(temp)-(file)-([\w-]+)\.php$ tempfile-$3.php [R=301,L] 
+0

你運行結束我的眼睛在這裏 – Nita