PHP:.htaccess 重写模块


PHP: .htaccess rewrite module

我有一个页面

http://www.mydomain.com/test.php?A=a/b/c.png

在 .htacess 上,我有一个代码

RewriteEngine On
RewriteRule ^A/([^/]*)$ /test.php?A=$1 [L]

如果我访问

http://www.mydomail.com/A/a/b/c.png

它不会让我查看文件,但此重写规则正在使用分隔符"-"

RewriteRule ^A-([^-]*)$ /test.php?A=$1 [L]

访问网址

http://www.mydomain.com/A-a/b/c.png

它有效,但我不想使用分隔符"-"我想使用分隔符"/"

它不起作用,因为你的正则表达式是错误的。您的 URI 中包含/,并且[^/]与除斜杠以外的所有内容匹配。

将您的规则更改为此规则。

 RewriteRule ^A/([^.]*)$ /test.php?A=$1 [L,QSA]

或者这个:

 RewriteRule ^A/(.+?)/?$ /test.php?A=$1 [L,QSA]

很简单

原始网址:

http://www.mydomain.com/test.php?A=a/b/c.png

重写的网址:

http://www.mydomain.com/A/a/b/c.png

使用下面的htaccess代码

RewriteEngine On
RewriteRule ^A/([^/]*)$ /test.php?A=$1 [L]

如果您想使用任何前缀,只需使用以下代码

RewriteEngine On
RewriteRule ^([^/]*)'.php$ /test.php?A=$1 [L]

-------------------------------------^ 根据您的需要使用任何内容

如果你想像'mydomain.com/images/a/b/c.png'

RewriteEngine On
RewriteRule ^([^/]*)$ /test.php?A=$1 [L]

---------------------^//从这里删除了 A/