2013-08-28 17 views
2

我想我正在尋找的是一個RegEx,它將向前看,後面看,並且只匹配我的部分。我想將/app_mine.php重新寫入/ mine

我嘗試了各種RegExes沒有成功。我正在使用Apache 2.2.22

已啓用mod_rewrite。 追加

RewriteBase/
RewriteRule ^app_([^.]+)\.php$ to /$1 [L,NC] 

在DOCUMENT_ROOT

爲.htaccess當試圖訪問我的應用程序DOCUMENT_ROOT/ENVNAME /路由我得到500內部服務器錯誤

+2

您可以包括在你的問題的各種正則表達式? – Jerry

+1

請提供樣品輸入,樣品輸出,您嘗試過嗎? –

回答

1

重定向/app_mine.php to /mine否則,從/app_anything.php to /anything您可以使用以下碼。

PS:我沒有使用look ahead and look behind正如您的問題所述(雖然它可以使用)。但除非你提供了一些具體的例子,我認爲我們可以避免在這裏使用環視。

啓用mod_rewrite的,並通過httpd.conf的.htaccess,然後把這個代碼在你.htaccessDOCUMENT_ROOT目錄:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+app_([^.]+)\.php([^\s?]*) [NC] 
RewriteRule^%1%2 [R=302,L] 

RewriteRule ^([^/.]+)([^.]*)$ app_$1.php$2 [L,NC] 
+0

500服務器錯誤 –

+0

對不起!之前有一個錯字。我剛修好了,請立即嘗試。 – anubhava

+0

http://127.0.0.1/app_dev.php/admin/home works。 http://127.0.0.1/dev/admin/home給出了一個非常及時的未找到錯誤 –