欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2024-02-19 17:19:04
...
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重写,后面部分貌似一定要真实的文件 呢?