我想拥有一个多语言网站。现在,我有2个域名。第一个是主域。那是website.nl。我有一个域别名,website.org。因此,2个域共享相同的public_html文件夹。
我想要的是: website.nl将使用文件/index.php/$1和 website.org将使用文件/gb/index.php/$1(因此当网址为website.org/test时,您将使用文件/gb/index.php/test(无网址重定向)
我在stackoverflow上的另一个主题上发现了以下内容:
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} website.org
RewriteRule ^(.*)$ /gb/index.php [L]
RewriteRule ^(.*)$ /index.php/$1 [L]
但是这个htaccess文件不起作用。我会得到500错误。就是这样。
有人能看出出了什么问题吗?
答案 0 :(得分:2)
你的规则是循环的,否则2条规则会相互混淆并无限循环(例如,请求/foo
将导致/index.php/index.php/index.php/index.php... etc
因此返回500)。您需要添加一些条件来停止循环。尝试将条件和规则更改为:
RewriteCond %{HTTP_HOST} website.org
RewriteCond %{REQUEST_URI} !^/gb/index.php
RewriteRule ^(.*)$ /gb/index.php/$1 [L]
RewriteCond %{REQUEST_URI} !^/gb/index.php
RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule ^(.*)$ /index.php/$1 [L]