Apache2 .htaccess mod_rewrite

Apache2 .htaccess mod_rewrite

我想要执行以下操作:

我有大约 5 个 URL 需要手动重定向,其余的自动重定向意味着:

这些必须手动重定向 www.mywebsite.com/test1 必须重定向到 www.mywebsite.de/myfolder/test1 www.mywebsite.com/test2 必须重定向到 www.mywebsite.de/thisisanother/folder/test2

其余(如果以上都不是) - 无论我输入 www.mywebsite.com 还是 mywebsite.com 都必须重定向到 www.mywebsite.de/en/

合计: 我想为 test1 和 test2 硬编码两个重定向,因为它们必须重定向到其他地方。其余如果不是 test1 或 test2必须重定向到 www.mydomain.de/en/ - 怎么办 ???? – codeworxx 2 分钟前 编辑

我不知道问题出在哪里:我在 www.mywebsite.com 的 www 根目录中创建了一个 .htaccess 文件,其中包含以下内容:

RewriteEngine on
RewriteRule test1 http://www.mywebsite.de/myfolder/test1 [R301]
RewriteRule test2 http://www.mywebsite.de/thisisanother/folder/test2 [R301]
RewriteRule (.*) http://www.mywebsite.de/en/$1 [R=301,L]

但它并没有实现我想要的效果。

如果我输入 mywebsite.com 或 www.mywebsite.com,我会收到内部服务器错误。如果我输入 www.mywebsite.com/test1,它会重定向到 www.mywebsite.de/en/$1 ?!?!?!?

谢谢,

答案1

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/test1
RewriteRule (.*) http://www.mywebsite.de/myfolder/test1 [R=301,L]
RewriteCond %{REQUEST_URI} ^/test2
RewriteRule (.*) http://www.mywebsite.de/thisisanother/folder/test2 [R=301,L]
RewriteCond %{REQUEST_URI} !^(test1|test2)
RewriteRule (.*) http://www.mywebsite.de/en/$1 [R=301]

相关内容