.htaccess 网址可以像这样重定向吗?

Can .htaccess urls be redirected like this?

我已经设置了 .htaccess,它非常适用于以下链接:

http://localhost:8888/z-jquery/view
http://localhost:8888/z-jquery/search

所以它正在删除 .php 扩展名,如果它们是手动输入的,也会重定向,这是完美的,但我还需要我的其他网址,如:

http://localhost:8888/z-jquery/edit?client=dane+kasbo

如果可能就这样:

http://localhost:8888/z-jquery/dane+kasbo

这是我的 .htaccess 文件:

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

## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L,NC]

## To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [L]

注意:我在这里搜索了很多 .htaccess 问题,但 none 对我有用,任何帮助将不胜感激。

您可以使用:

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

RewriteCond %{THE_REQUEST} /edit(?:\.php)?\?client=([^&]+)\s [NC]
RewriteRule ^ %1? [R,L,NE]

## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L,NE]

## To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ .php [L]

RewriteRule ^([^/.]+)/?$ edit.php?client= [L,QSA]