情况
我正在使用Zend框架,因此尝试通过地址调用文件夹以惨败结束,我们得到错误:'指定的控制器无效'.我需要在单独的文件夹中连接其他论坛到应用程序.我更改.htaccess文件如下:
RewriteRule ^forum(.*)$ forum$1 [L]
Run Code Online (Sandbox Code Playgroud)
并且有一段时间它很好,直到我意识到页面存在于两个域中的两个版本(php识别域[.pl/.co.uk]并选择语言).所以我决定将论坛分开作为两个单独的模块(例如,波兰版论坛的文件夹将是:forum_pl,而对于英国,它将是:forum_uk - 两个不同的论坛)
有什么问题?
它需要重写.htaccess文件才能像这样工作:
如果: www.domena.pl/forum
那么:从文件夹/ forum_pl打开脚本
如果: www.domain.co.uk/forum
那么:从文件夹/ forum_uk打开脚本.
最糟糕的是,当我尝试修复.htaccess文件添加RewriteCond时,第一次重定向不再正常工作,即使在返回原始版本(如上所示)之后.
如果我没有找到早先给出的答案,请帮助我并对不起.
编辑:
第一个工作方案
RewriteRule ^forum_pl(.*)$ forum_pl$1 [L]
RewriteRule ^forum_uk(.*)$ forum_uk$1 [L]
RewriteCond %{HTTP_HOST} ^www.domena.pl(.*) [NC]
RewriteRule ^forum(.*)$ forum_pl$1 [L]
RewriteCond %{HTTP_HOST} ^www.domain.co.uk(.*) [NC]
RewriteRule ^forum(.*)$ forum_uk$1 [L]
Run Code Online (Sandbox Code Playgroud)
看起来它想要工作但是,需要解决的问题是(TODO):
编辑:
我的最后解决方案
#FORUM
#PL
RewriteCond %{REQUEST_URI} ^/forum$ [NC]
RewriteRule ^(.*)$ forum/ [R=301,L]
RewriteRule ^forum_pl(.*)$ forum_pl$1 [L]
RewriteCond %{REQUEST_URI} ^/forum_pl(.*)$ [NC]
RewriteRule ^(.*)$ http://www.domena.pl/forum/ [R=301,L] #Dosen't work properly (?)
RewriteCond …Run Code Online (Sandbox Code Playgroud)