我想重写以下路径https://example.org/app/my/index.php?param=/foo/bar/
到https://example.org/app/my/foo/bar
,并使用.htaccess
在php中检索$_GET['param']
。
参数必须是模块化的,所以它可以是任何路径。我想保留添加其他参数的功能,比如https://example.org/app/my/foo/bar/?id=XY
.htaccess
-文件在/app/my/
.
我已经试过了,但是没有成功
RewriteEngine On
RewriteRule ^(app/my/[w-]+)/([w-]+)/?$ $1.php?param=$2 [L,NC,QSA]
您可以使用:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(app/my)/(.+)$ $1/index.php?param=$2 [L,NC,QSA]
使用RewriteCond %{REQUEST_FILENAME} !-f
避免匹配app/my/index.php
或该文件夹中的任何其他文件。
您可以在app/my/.htaccess
:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.+$ index.php?param=$0 [L,QSA]