2017-08-14 4 views
0

Unten ist mein .htaccess Code:Apache Rewrite-Regel funktioniert nicht wie erwartet

<VirtualHost *:80> 
     ServerName api.xxxx.com 
     DocumentRoot /dianxiaoer/html/two-twenty 
     <Directory /dianxiaoer/html/two-twenty> 
       RewriteEngine on 
       RewriteCond %{REQUEST_FILENAME} !-f 
       RewriteCond %{REQUEST_FILENAME} !-d 
       RewriteRule . index.php 
       RewriteRule /notify/alipay /mobile/index.php?act=notify&op=alipay 
       #Options Indexes FollowSymLinks MultiViews 
       Options FollowSymLinks 
       AllowOverride None 
       Require all granted 
       Order allow,deny 
       allow from all 
     </Directory> 
</VirtualHost> 

URL-Rewriting Regel

api.xxxx.com/notify/alipay to api.xxxx.com/mobile/index.php?act=notify&op=alipay 

nicht richtig funktioniert. Kann mir bitte jemand erklären, was mache ich hier falsch? Vielen Dank.

+1

Welchen Fehler bekommen Sie? – CUGreen

+0

Die neunte Codezeile funktioniert nicht und kann nicht umgeleitet werden. – uzaiHu

+0

Wahrscheinlich, weil Zeile 8 die Regel überschreibt – CUGreen

Antwort

0

Diese Zeile, RewriteRule . index.php überschreibt alles, was danach kommt.

Wenn Sie diese am Ende dann setzen, sollte es Ihr Problem aussortieren.

Try-Swapping Linie 8 und 9 wie folgt aus:

<VirtualHost *:80> 
     ServerName api.xxxx.com 
     DocumentRoot /dianxiaoer/html/two-twenty 
     <Directory /dianxiaoer/html/two-twenty> 
       RewriteEngine on 
       RewriteCond %{REQUEST_FILENAME} !-f 
       RewriteCond %{REQUEST_FILENAME} !-d 
       RewriteRule /notify/alipay /mobile/index.php?act=notify&op=alipay [L] 
       RewriteRule . index.php 
       #Options Indexes FollowSymLinks MultiViews 
       Options FollowSymLinks 
       AllowOverride None 
       Require all granted 
       Order allow,deny 
       allow from all 
     </Directory> 
</VirtualHost> 

Hoffentlich die das Problem löst.

Verwandte Themen