用户名: 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]
对于里面的文件,请不要恶意改动
12 个解决方案
#1
建议只重写.html结尾的URL,这样就好解决多了。前提是你的网站支持伪静态
#2
你看看可以了么
#3
搞不定,请恢复原样!首页都无法访问了
#4
已经被恢复了
#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]
#如果目录存在就直接访问目录不进行RewriteRule
RewriteCond %{REQUEST_FILENAME} !-d
#如果文件存在,就直接访问文件,不进行下面的RewriteRule.(不是文件或文件不存在就执行重写)
RewriteCond %{REQUEST_FILENAME} !-f
#所有找不着实际路径的文件,统一交给index.php处理
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
#7
斑竹老大会不会?什么叫打不开?
#8
没有你会
#9
我试过很多了,就是不行,它的url重写,后面部分貌似一定要真实的文件
#10
是因为那个目录里没有那个.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重写,后面部分貌似一定要真实的文件 呢?
浏览 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
你看看可以了么
#3
搞不定,请恢复原样!首页都无法访问了
#4
已经被恢复了
#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]
#如果目录存在就直接访问目录不进行RewriteRule
RewriteCond %{REQUEST_FILENAME} !-d
#如果文件存在,就直接访问文件,不进行下面的RewriteRule.(不是文件或文件不存在就执行重写)
RewriteCond %{REQUEST_FILENAME} !-f
#所有找不着实际路径的文件,统一交给index.php处理
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
#7
斑竹老大会不会?什么叫打不开?
#8
没有你会
#9
我试过很多了,就是不行,它的url重写,后面部分貌似一定要真实的文件
#10
是因为那个目录里没有那个.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重写,后面部分貌似一定要真实的文件 呢?
浏览 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重写,后面部分貌似一定要真实的文件 呢?