0

以前也有人问过类似的问题,但不清楚!

我有一个像这样的文件夹结构:

http://example.com/category1/subcat1/path1
http://example.com/category2/subcat2/path2
http://example.com/category3/subcat3/path3

我想将它们分别重定向到以下内容:

http://example.com/category1/subcat1/stuff1
http://example.com/category2/subcat2/stuff2
http://example.com/category3/subcat3/stuff3

注意:如果 example.com/path 不存在,我需要对 example.com/path 的任何请求以重定向到 example.com/path/!

我试过这个:

RewriteEngine On
RewriteBase /var/www/
RewriteRule ^path1/$ path1 [R=301,L]
RewriteRule ^path1/(.*)$ path1 [R=301,L]

请问,有什么帮助吗?

4

1 回答 1

0

您需要摆脱重写基础。它是文件路径而不是 URL 路径,因此您最终会被重定向到http://example.com/var/www/path1.

对于尾部斜杠,您需要:

RewriteEngine On

RewriteRule ^path1$ /path1/ [R=301,L]

对于其余的:

RewriteRule ^category1/subcat1/path1$ /category1/subcat1/stuff1 [R=301,L]
RewriteRule ^category2/subcat2/path2$ /category2/subcat2/stuff2 [R=301,L]

等等


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+[^/])$ /$1/ [L,R=301]
于 2013-09-10T15:51:08.413 回答