美好的一天
我想在请求子目录时重写url 当用户请求
172.0.0.1/url
我想重写以使该网址指向
172.0.0.1/url/url
或documentroot在/ var / www / html / url / url中,请指向
172.0.0.1/url
答案 0 :(得分:3)
这里的窍门是避免创建重写和重定向循环。您可以将此代码放在根目录htaccess中
RewriteEngine On
# Redirect /url/url/xxx to /url/xxx
RewriteCond %{THE_REQUEST} \s/(url)/url/(.*)\s [NC]
RewriteRule ^ /%1/%2 [R=301,L]
# Internally rewrite back /url/xxx to /url/url/xxx
RewriteRule ^(url)/((?!url/).*)$ /$1/$1/$2 [L]
答案 1 :(得分:0)
您可以使用.htaccess
将/url
重定向到/url/url
只需在/var/www/html/
中创建.htaccess文件,其中包含以下内容:
RewriteEngine on
RewriteRule ^/?url/(.*)$ /url/url/$1 [R,L]
这会将所有传入的请求重定向到/url
,并将它们重定向到/url/url
但是您不能将来自/url/url
的请求重定向到/url
,因为我们已经重定向了/url
的请求,这将导致catch 22,并且浏览器将继续在{ {1}}和/url
。