[英]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.