Htaccess文件扩展名隐藏和传递url字符串



我试图隐藏。php扩展名,也重写url字符串与尾斜杠。文件扩展名隐藏工作正常,但url字符串不能。

来自:

http://www.example.com/abc.php?id1=1&id2=2

:

http://www.example.com/abc/id1/1/id2/2

下面是。htaccess

RewriteEngine On
Options -Multiviews
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)$ $1.php [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} (.*)
RewriteRule ^(.*)/([0-9]+)$ $1.php?id=$2&%1 [L]

首先,检查%{THE_REQUEST}变量。如果满足匹配条件,则重定向。

RewriteCond %{THE_REQUEST} ^GET /abc.php?(id1)=(d+)&(id2)=(d+) [NC]
RewriteRule ^ /abc/%1/%2/%3/%4? [R=301,L]

接下来,在内部重写friendly-url。

RewriteRule ^abc/(id1)/(d+)/(id2)/(d+)$ /abc.php?$1=$2&$3=$4 [NC,L]

最新更新