我试图通过“重定向lang”前缀在Apache vhost conf中的所有URI并将“/”更改为“%”。例如:正则表达式在Apache的RewriteRule前缀URI并执行查找/替换
http://example.com/category/article/how/to/redirect
将变为:
http://example.com/redirect-lang/category%article%how%to%redirect
要做到这一点,我写了下面:
RewriteRule (.*)([^\/]+)\/([^\/]+)\/?$ http://%{HTTP_HOST}$1$2-$3
RewriteCond %{REQUEST_URI} ^(?!(.*)(\/?redirect)) [NC]
RewriteRule (.*)$ http://%{HTTP_HOST}/redirect/$0 [L]
第一RewriteRule
完美的作品独自一人在替换 “/” 与“ %“,但是当添加RewriteCond
和第二个RewriteRule
时,它会无限循环。
有人可以帮助我吗?
的''%存在将使URL无效。你为什么要用'%'替换'/'? – anubhava
接收它作为PHP中的路由变量并处理它 –
PHP也可以使用'/'接收完整的URL,并且可以在'/' – anubhava