如果URL以/folder开头但不包含/folder/subfolder,我希望创建重定向例如:
/folder/page
应重定向到:
/folder/subfolder/page
我试过了
RewriteCond %{REQUEST_URI} !^/folder/subfolder/.*$ RewriteRule ^(.*)$ /folder/subfolder/$1 [L]
但是这样不行,我有很多页面要重定向,所以需要一个普通的重定向,应该可以吧?
vjhs03f71#
按照以下方式进行.htaccess。在你的尝试中有两件主要的事情需要纠正。第一:您不需要在条件部分中匹配subfolder之后的路径。2nd:您在重写部分捕获了包括folder在内的所有内容,我们不需要它,因为在右侧您已经提到了它。请确保在测试URL之前清除浏览器缓存。以下操作不会重定向浏览器中的URL,这是根据您的尝试进行的内部重写。
subfolder
folder
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]
1条答案
按热度按时间vjhs03f71#
按照以下方式进行.htaccess。在你的尝试中有两件主要的事情需要纠正。第一:您不需要在条件部分中匹配
subfolder
之后的路径。2nd:您在重写部分捕获了包括folder
在内的所有内容,我们不需要它,因为在右侧您已经提到了它。请确保在测试URL之前清除浏览器缓存。
以下操作不会重定向浏览器中的URL,这是根据您的尝试进行的内部重写。
*或*如果您想要真实的的重定向并在浏览器级别更改URL,请尝试以下操作: