ecstore网站换服务器,Nginx下ecstore伪静态开启后的后台跳转问题
先說說情況:
1、開啟ecstore偽靜態的兩個步驟:
(1)在nginx里server部分添加:location / {
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
}
(2)修改程序的config.php文件,把下面這行define('WITH_REWRITE',false);
改成define('WITH_REWRITE',true);
開啟后,網址里的index.php就沒有了,比如http://www.hnqss.cn/index.php/product-75.html就變成了:http://www.hnqss.cn/product-75.html ,url友好多了。
2、會出現什么問題?
登陸后臺后,通過這個地址:http://www.hnqss.com/index.php/shopadmin 登陸后臺成功后,會跳轉到 http://www.hnqss.cn/shopadmin/ 這個地址,但這個地址是不存在的,所以就提示:
測試環境下這樣無所謂,但在給客戶布署交付時,就會出現如下提示:
因為商派限制了必須通過 http://www.hnqss.cn/index.php/shopadmin這樣的地址訪問后臺,否則授權就失敗(很變態的限制呀)。
3、如何解決這個bug?
我的這個辦法也有點變態(^o^),既然提示找不到http://www.hnqss.cn/shopadmin,那我就在根目錄下建一個shopadmin目錄,然后往里面放一個index.php文件,文件內容如下:
< ? php
//重定向瀏覽器
header("Location:http://www.hnqss.cn/index.php/shopadmin/index.php");
//確保重定向后,后續代碼不會被執行
exit;
? >
懂代碼的一看就明白了,它實際不過是一個地址跳轉而以,把地址再跳轉回正確的地址上去。
===========================================================================================================
以上都是浮云,最完美的解決辦法來了:
在nginx中使用下面這個規則,啥問題都浮云了,讓那些看文章只看一半的人去折騰去吧,哈哈~_~ ?。
location / {
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
}
index index.php index.htm index.html;
}
location ~ ^/shopadmin {
rewrite ^/(.*)$ /index.php/$1 last;
break;
}
總結
以上是生活随笔為你收集整理的ecstore网站换服务器,Nginx下ecstore伪静态开启后的后台跳转问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Telerik UI 2022 R2 S
- 下一篇: 在Puppet中用ERB模板来自动配置N