我在.htaccess中重定向网址有问题.我想删除.PHP&来自URL的问号.
例如:www.example.com/test.PHP?id = 12到www.example.com/test/12需要这样的格式.
我尝试在.htaccess中使用此代码
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
## don't touch /forum URIs
RewriteRule ^forums/ - [L,NC]
## hide .PHP extension snippet
# To externally redirect /dir/foo.PHP to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.PHP [NC]
RewriteRule ^ %1 [R,L]
# To internally forward /dir/foo to /dir/foo.PHP
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.PHP -f
RewriteRule ^(.*?)/?$$1.PHP [L]
解决方法:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
## don't touch /forum URIs
RewriteRule ^forums/ - [L,NC]
## hide .PHP extension snippet
# To externally redirect /dir/foo.PHP?id=123 to /dir/foo
RewriteCond %{THE_REQUEST} ^GET\s([^.]+)\.PHP\?id=([^&\s]+) [NC]
RewriteRule ^ %1/%2? [R,L]
# To internally forward /dir/foo/12 to /dir/foo.PHP?id=12
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.PHP -f
RewriteRule ^(.+?)/([^/]+)/?$$1.PHP?id=$2 [L,QSA]
# To externally redirect /dir/foo.PHP to /dir/foo
RewriteCond %{THE_REQUEST} ^GET\s([^.]+)\.PHP\s [NC]
RewriteRule ^ %1 [R,L]
# To internally forward /dir/foo to /dir/foo.PHP
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.PHP -f
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(.*?)/?$$1.PHP [L]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。