URL友好访问模式(伪静态) 失效

a0807121 2020-5-16 1408

新手问题多请多包涵...

不论PHP版本为何开启后都不起作用

前后台都一样

伪静态开启后不论点击任何链接都只会回到 index.php

确认 .htaccess 内容为

<IfModule mod_rewrite.c>

    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteCond $1 !^(index\.php|robots\.txt|public|uploads|install|images|admin|ajax\.php)

    RewriteRule ^(.*)$ index.php/$1 [L]

</IfModule>

且存在根目录与 admin 目录内

注: 相同环境下 ecshop 的伪静态是正常的

New Post (5)
  • weenfier 2020-5-16
    Quote 2Floor
    HongCMS要求服务器支持path_info,是否支持可以这样测试:
    关闭伪静态,前台访问一下各页面,看看是否正常。

    如果正常,说明服务器支持Path_info,
    如果不正常,即发生点击任何链接都只会回到 index.php的情况,此时需要设置服务器让其支持Path_info。
  • weenfier 2020-5-16
    Quote 3Floor
    另:我们欢迎用户多提问题、多交流。

    唯一希望提问时把问题描述得尽可能详细,用户越仔细,我们将越尽心回复。

    楼主的问题描述得已经足够好了,所以我们尽快地,尽可能地回复并解决你的问题。
  • a0807121 2020-5-16
    Quote 4Floor
    关闭伪静态后
    URL是 domain/index.php/news?id=xx
    可正常访问各页面

    伪静态开启后
    URL是 domain/news?id=xx
    页面都只显示首页
  • weenfier 2020-5-16
    Quote 5Floor
    那就跟当前网站的apache配置有关,即它不支持伪静态。查一查apache的配置文件,是否加载了rewrite模块,即:

    LoadModule rewrite_module modules/mod_rewrite.so

    如果此模块已加载,再检查虚拟主机的配置,如:

    <VirtualHost *:80>
            DocumentRoot "C:/wwwroot"
            ServerName localhost
            <Directory />
                Options Indexes FollowSymLinks
                AllowOverride All
                Order allow,deny
                Allow from all
            </Directory>
    </VirtualHost>

    是否有:AllowOverride All?这一行表示开启伪静态功能。
  • weenfier 2020-5-16
    Quote 6Floor
    另外,如果ecshop在一个域名下安装,并支持伪静态,那感觉hongcms不可能不支持。

    1楼中提到,ecshop在相同环境下伪静态正常,是否是在相同域名下?
Back
Create New Thread