Php 更改客户端浏览器中URL的htaccess动态重定向

Php 更改客户端浏览器中URL的htaccess动态重定向,php,apache,.htaccess,redirect,Php,Apache,.htaccess,Redirect,我试图将/search.php?s=xxx重定向到/search/xxx,并在客户端的地址栏中实际显示/search/xxx 我在htaccess根目录中使用以下指令,它可以工作,但不会更改URL: RewriteRule ^search/(.*)$ /search.php?s=$1 我尝试在语句末尾添加[R=301],因此: RewriteRule ^search/(.*)$ /search.php?s=$1 [

我试图将
/search.php?s=xxx
重定向到
/search/xxx
,并在客户端的地址栏中实际显示/search/xxx

我在htaccess根目录中使用以下指令,它可以工作,但不会更改URL

RewriteRule           ^search/(.*)$           /search.php?s=$1
我尝试在语句末尾添加[R=301],因此:

RewriteRule           ^search/(.*)$           /search.php?s=$1 [R=301]
但这正好相反,这意味着它将/search/xxx更改为/search.php?s=xxx

以下是整个.htaccess文件:

Options -MultiViews
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule           ^monumentum$                  /new_monumentum.php
RewriteRule           ^monumentum/(.*)$             /new_monumentum.php?mid=$1

RewriteRule           ^nuntium$                     /new_articulo.php
RewriteRule           ^nuntium/(.*)$                  /new_articulo.php?aid=$1

RewriteRule           ^liber$                         /new_liber.php
RewriteRule           ^liber/(.*)$                  /new_liber.php?lid=$1

RewriteRule           ^introductio$               /new_pagina.php
RewriteRule           ^introductio/(.*)$            /new_pagina.php?pid=$1

RewriteRule           ^persona$               /new_profile.php
RewriteRule           ^persona/(.*)$          /new_profile.php?cid=$1

#RewriteRule          ^search$                /new_search.php
#RewriteRule          ^search/(.*)$           /new_search.php?sea=$1

RewriteRule           ^exitio$                /new_exit.php
RewriteRule           ^intro$                 /new_enter.php
RewriteRule           ^novus$                 /new_account.php

# Error 404: Paginas no encontradas
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d

ErrorDocument 403 /403.html
ErrorDocument 404 /404.html

要将
/search.php?s=xxx
重定向到
/search/xxx
,可以使用以下规则:

选项-多视图
重新启动发动机
RewriteCond%{THE_REQUEST}/search\.php\?s=([^\s&]+)[NC]
是否重写规则^/search/%1?[R=301,L,NE]
重写规则^search/(.+)$search.php?s=$1[L,NC,QSA]
#把剩下的规则放在下面
重写规则^Monterum$new_monterum.php[L]
重写规则^Monterum/(*)$new_monterum.php?mid=$1[L,QSA]
重写规则^nuntium$new\u articulo.php[L]
重写规则^nuntium/(*)$new_articulo.php?aid=$1[L,QSA]
重写规则^liber$new_liber.php[L]
重写规则^liber/(*)$new_liber.php?lid=$1[L,QSA]
重写规则^introductio$new_pagina.php[L]
重写规则^introductio/(*)$new_pagina.php?pid=$1[L,QSA]
重写规则^persona$new_profile.php[L]
重写规则^persona/(.*)$new_profile.php?cid=$1[L,QSA]
重写规则^exitio$new\u exit.php[L]
重写规则^intro$new\u enter.php[L]
重写规则^novus$new_account.php[L]
#错误404:Paginas没有密码
错误文档403/403.html
错误文档404/404.html

谢谢您抽出时间,但它仍然不起作用。与我之前的回答相同。我对你之前写的这个回答的最后评论一切正常,除了
/search/xxx
。用我的最新更新,即使已经解决。