簡體   English   中英

在客戶端瀏覽器中更改 URL 的 htaccess 動態重定向

[英]htaccess Dynamic Redirect that changes URL in clients browser

我正在嘗試將/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 ,您可以使用以下規則:

Options -MultiViews
RewriteEngine On

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

RewriteRule ^search/(.+)$ search.php?s=$1 [L,NC,QSA]

# place your remaining rules below here

RewriteRule           ^monumentum$ new_monumentum.php [L]
RewriteRule           ^monumentum/(.*)$ new_monumentum.php?mid=$1 [L,QSA]

RewriteRule           ^nuntium$ new_articulo.php [L]
RewriteRule           ^nuntium/(.*)$ new_articulo.php?aid=$1 [L,QSA]

RewriteRule           ^liber$ new_liber.php [L]
RewriteRule           ^liber/(.*)$ new_liber.php?lid=$1 [L,QSA]

RewriteRule           ^introductio$ new_pagina.php [L]
RewriteRule           ^introductio/(.*)$ new_pagina.php?pid=$1 [L,QSA]

RewriteRule           ^persona$ new_profile.php [L]
RewriteRule           ^persona/(.*)$ new_profile.php?cid=$1 [L,QSA]

RewriteRule           ^exitio$ new_exit.php [L]
RewriteRule           ^intro$ new_enter.php [L]
RewriteRule           ^novus$ new_account.php [L]

# Error 404: Paginas no encontradas
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM