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