.htaccess 如果URL中不存在子文件夹则重定向

cygmwpex  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(140)

如果URL以/folder开头但不包含/folder/subfolder,我希望创建重定向
例如:

/folder/page

应重定向到:

/folder/subfolder/page

我试过了

RewriteCond %{REQUEST_URI} !^/folder/subfolder/.*$
RewriteRule ^(.*)$ /folder/subfolder/$1 [L]

但是这样不行,我有很多页面要重定向,所以需要一个普通的重定向,应该可以吧?

vjhs03f7

vjhs03f71#

按照以下方式进行.htaccess。在你的尝试中有两件主要的事情需要纠正。第一:您不需要在条件部分中匹配subfolder之后的路径。2nd:您在重写部分捕获了包括folder在内的所有内容,我们不需要它,因为在右侧您已经提到了它。
请确保在测试URL之前清除浏览器缓存。
以下操作不会重定向浏览器中的URL,这是根据您的尝试进行的内部重写。

RewriteCond %{REQUEST_URI} !/?folder/subfolder/ [NC]
RewriteRule ^folder/(.*)/?$ /folder/subfolder/$1 [NC,L]

*或*如果您想要真实的的重定向并在浏览器级别更改URL,请尝试以下操作:

RewriteCond %{REQUEST_URI} !/?folder/subfolder/ [NC]
RewriteRule ^folder/(.*)/?$ /folder/subfolder/$1 [R=301,NC,L]

相关问题