首页 >后端开发 >php教程 >继续求助,怎么URL重写去掉index.php?不是想象中的那么容易啊。

继续求助,怎么URL重写去掉index.php?不是想象中的那么容易啊。

WBOY
WBOY原创
2016-06-23 14:06:21992浏览

IP(FTP): 175.102.3.231
用户名: youyaxli 
密码: 1r6wMki13Y
错误链接: http://www.youyax.com/forum/List-index-f-4.shtml
正确连接: http://www.youyax.com/forum/index.php/List-index-f-4.shtml
操作目的:地址栏重写去掉index.php
操作方法:编辑根目录的.htacess文件
服务器:Linux主机 Apache 2.2.23 + Nginx1.0.15
可以参考: https://wvw.52host.net/knowledgebase.php?action=displayarticle&id=176
httpd.ini的写法参考:

RewriteRule ^/forum/((Index|List|Content|admin|Vote|Message|Favor).*)$ /forum/index\.php/$1 [L]


对于里面的文件,请不要恶意改动



回复讨论(解决方案)

建议只重写.html结尾的URL,这样就好解决多了。前提是你的网站支持伪静态

你看看可以了么

搞不定,请恢复原样!首页都无法访问了

已经被恢复了

public_html/forum/.htaccess 打不开

一般写法
#如果目录存在就直接访问目录不进行RewriteRule
RewriteCond %{REQUEST_FILENAME} !-d
#如果文件存在,就直接访问文件,不进行下面的RewriteRule.(不是文件或文件不存在就执行重写)
RewriteCond %{REQUEST_FILENAME} !-f
#所有找不着实际路径的文件,统一交给index.php处理
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

public_html/forum/.htaccess 打不开
斑竹老大会不会?什么叫打不开?


没有你会

一般写法
#如果目录存在就直接访问目录不进行RewriteRule
RewriteCond %{REQUEST_FILENAME} !-d
#如果文件存在,就直接访问文件,不进行下面的RewriteRule.(不是文件或文件不存在就执行重写)
RewriteCond %{REQUEST_FILENAME} !-f
#所有找不着实际路径的文件,统一交给index.……
我试过很多了,就是不行,它的url重写,后面部分貌似一定要真实的文件 

没有你会
是因为那个目录里没有那个.htacess文件,被删掉了,所以出错了。

好嘛,你本事。
刚才还看到,这就删了。自己慢慢弄去吧

我在你的 forum 下见了一个 test 目录,放了 .htacess 和 index.php

浏览  http://www.youyax.com/forum/test/a/b/c
得到
Array
(
     .....
    [REDIRECT_URL] => /forum/test/a/b/c
    ....
    [REQUEST_URI] => /forum/test/a/b/c
    [SCRIPT_FILENAME] => /home2/youyaxli/public_html/forum/test/index.php
    [SCRIPT_NAME] => /forum/test/index.php
    ....
    [ORIG_PATH_INFO] => /a/b/c
    [ORIG_PATH_TRANSLATED] => /home2/youyaxli/public_html/forum/test/index.php
    [PHP_SELF] => /forum/test/index.php
    [REQUEST_TIME] => 1366441199
    [argv] => Array
        (
        )

    [argc] => 0
)

怎么能说是  它的url重写,后面部分貌似一定要真实的文件 呢?

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn