3

page B使用 .htaccess 文件,加载时如何page A加载?我不希望 URL 改变,它仍然应该说page A.

示例:用户加载www.mysite.com/contact并获取结果www.mysite.com/contact-us

最好,我怎样才能将多个 URL 重定向到同一个地方?如.com/A, .com/B,.com/C都加载 的内容.com/d。有没有办法将其中的许多组合在一起(与此解决方案相反:htaccess redirect without changed url

4

2 回答 2

3

这取决于你所说的分组是什么意思。您可以匹配域之后的任何内容并将其指向您真正想要的其他 URL。

举个例子。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+) /d [L] 

这将匹配www.site.com/Awww.site.com/Bwww.site.com/C并重定向到 www.site.com/d而不更改 URL

希望有帮助。

编辑:

要回答您对特定 URL 的评论,如果您只想A B or C重定向,则可以这样做。简化的示例,但应该可以正常工作。

RewriteEngine on
RewriteRule ^(A|B|C)$ /d [L]

这将 www.site.com/A匹配or www.site.com/Borwww.site.com/C并重定向到 www.site.com/d而不更改 URL。

于 2013-07-06T02:44:29.073 回答
3

根据您的 URL 布局,我会使用以下内容:

RewriteCond %{REQUEST_URI} ^/(A) [OR,NC]
RewriteCond %{REQUEST_URI} ^/(B) [OR,NC]
RewriteCond %{REQUEST_URI} ^/(C) [OR,NC]
RewriteCond %{REQUEST_URI} ^/(E)
RewriteRule ^.*$ /d#%1 [L]

当然你也可以一行完成:

RewriteCond %{REQUEST_URI} ^/(A|B|C|E) [NC]
RewriteRule ^.*$ /d#%1 [L]
于 2013-07-06T03:03:48.343 回答