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

时间:2021-08-31 19:56:03
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]


对于里面的文件,请不要恶意改动 继续求助,怎么URL重写去掉index.php?不是想象中的那么容易啊。


12 个解决方案

#1


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

#2


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

#3


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

#4


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

#5


public_html/forum/.htaccess 打不开

#6


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

#7


引用 5 楼 xuzuning 的回复:
public_html/forum/.htaccess 打不开

斑竹老大会不会?什么叫打不开?

#8


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

#9


引用 6 楼 xuzuning 的回复:
一般写法
#如果目录存在就直接访问目录不进行RewriteRule
RewriteCond %{REQUEST_FILENAME} !-d
#如果文件存在,就直接访问文件,不进行下面的RewriteRule.(不是文件或文件不存在就执行重写)
RewriteCond %{REQUEST_FILENAME} !-f
#所有找不着实际路径的文件,统一交给index.……

我试过很多了,就是不行,它的url重写,后面部分貌似一定要真实的文件 

#10


引用 8 楼 xuzuning 的回复:
没有你会

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

#11


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

#12


我在你的 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重写,后面部分貌似一定要真实的文件 呢?

#1


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

#2


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

#3


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

#4


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

#5


public_html/forum/.htaccess 打不开

#6


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

#7


引用 5 楼 xuzuning 的回复:
public_html/forum/.htaccess 打不开

斑竹老大会不会?什么叫打不开?

#8


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

#9


引用 6 楼 xuzuning 的回复:
一般写法
#如果目录存在就直接访问目录不进行RewriteRule
RewriteCond %{REQUEST_FILENAME} !-d
#如果文件存在,就直接访问文件,不进行下面的RewriteRule.(不是文件或文件不存在就执行重写)
RewriteCond %{REQUEST_FILENAME} !-f
#所有找不着实际路径的文件,统一交给index.……

我试过很多了,就是不行,它的url重写,后面部分貌似一定要真实的文件 

#10


引用 8 楼 xuzuning 的回复:
没有你会

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

#11


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

#12


我在你的 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重写,后面部分貌似一定要真实的文件 呢?