繁体   English   中英

如何重定向.htaccess中的无效URL?

[英]How to redirect invalid URL in .htaccess?

/ (directory/?param=value)无法更改此网址

directory/?param=value

directory/value

这是行不通的:

RewriteCond   %{REQUEST_URI} ^/directory/.*

RewriteRule   ^/directory/\?param=(.*)    /directory/$1 [L]

我的问题是如何替换?param = ???

这些规则应为您工作:

RewriteEngine On

RewriteCond %{THE_REQUEST} \s/+(directory)/\?param=([^\s&]+) [NC]
RewriteRule ^ %1/%2? [R=302,L]

RewriteRule ^(directory)/([^/]+)/?$ /$1/?param=$2 [L,QSA,NC]

您不能与RewriteRule中的查询字符串(在?之后的所有字符)匹配,请尝试:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?directory/(.+)$ /directory/?param=$1 [L]

这需要: 目录/值,并在内部对其进行重写以提供目录/?param = value的内容

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM