thinkphp隐藏index.php以后500
程序员文章站
2022-06-16 22:38:12
...
系统linux+php5.3
tp3.1.2
按照TP的手册说修改 httpd.conf 的 mod_rewrite.so 模块分号
然后还有 AllowOverride None 将None改为 All (这个地方在httpd.conf里面有5处,我都修改成了All,不知道是否是正确的,还是只是需要修改一处就可以了?)
URL_MODEL设置为2 这个在配置文件里面也设置成了2,然后在写一个 ..htaccess 放在网站的根目录,内容如下
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
然后重新启动httpd,结果提示 500 Internal Server Error ,开始我以为是我apache的问题,最后我看其他的网站又正常(这台linux有多个网站),最后把 .htaccess删除以后打开网站又恢复正常,如果在放.htaccess又出现问题,那就可以说明.htaccess有问题了,是不是这个里面的内容有问题呢,还是需要php.ini在设置其他的呢
TP 自己就带有 .htaccess
你看看这里 http://blog.****.net/qq1355541448/article/details/21375407
TP 自己就带有 .htaccess
你看看这里 http://blog.****.net/qq1355541448/article/details/21375407
我按照这个BLOG的地址设置了,也就是大概意思是 httpd.conf里面要单独设置,比如一个网站
单独一个网站就需要单独开启一个模块吗,不能全局配置吗,我按照这样的修改以后在重新启动httpd.启动是可以,但是报了一个错误
然后问题依旧~
我找到原因了,是默认创建.htaccess的时候权限问题,因为我是root登录的,所以创建这个文件的权限是ROOT,我有把它设置成
777的权限,但还是一样,刚才我试着修改成此网站的用户组和用户,然后刷新就可以了。
谢谢徐版,
tp3.1.2
按照TP的手册说修改 httpd.conf 的 mod_rewrite.so 模块分号
然后还有 AllowOverride None 将None改为 All (这个地方在httpd.conf里面有5处,我都修改成了All,不知道是否是正确的,还是只是需要修改一处就可以了?)
URL_MODEL设置为2 这个在配置文件里面也设置成了2,然后在写一个 ..htaccess 放在网站的根目录,内容如下
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
然后重新启动httpd,结果提示 500 Internal Server Error ,开始我以为是我apache的问题,最后我看其他的网站又正常(这台linux有多个网站),最后把 .htaccess删除以后打开网站又恢复正常,如果在放.htaccess又出现问题,那就可以说明.htaccess有问题了,是不是这个里面的内容有问题呢,还是需要php.ini在设置其他的呢
回复讨论(解决方案)
RewriteEngine on#如果目录存在就直接访问目录不进行RewriteRuleRewriteCond %{REQUEST_FILENAME} !-d#如果文件存在,就直接访问文件,不进行下面的RewriteRule.(不是文件或文件不存在就执行重写)RewriteCond %{REQUEST_FILENAME} !-f#所有找不着实际路径的文件,统一交给index.php处理RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
TP 自己就带有 .htaccess
你看看这里 http://blog.****.net/qq1355541448/article/details/21375407
RewriteEngine on#如果目录存在就直接访问目录不进行RewriteRuleRewriteCond %{REQUEST_FILENAME} !-d#如果文件存在,就直接访问文件,不进行下面的RewriteRule.(不是文件或文件不存在就执行重写)RewriteCond %{REQUEST_FILENAME} !-f#所有找不着实际路径的文件,统一交给index.php处理RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
TP 自己就带有 .htaccess
你看看这里 http://blog.****.net/qq1355541448/article/details/21375407
我按照这个BLOG的地址设置了,也就是大概意思是 httpd.conf里面要单独设置,比如一个网站
LoadModule rewrite_module modules/mod_rewrite.so //我写在这里了, ServerAdmin webmaster@dt.e.com DocumentRoot /web/xx.com ServerName xx.com ErrorLog logs/errun-error_log CustomLog logs/acrun-access_log common
单独一个网站就需要单独开启一个模块吗,不能全局配置吗,我按照这样的修改以后在重新启动httpd.启动是可以,但是报了一个错误
然后问题依旧~
只要全局有一个就行了
我这修改以后网站根目录没有放.htaccess文件,这样提示,根目录放了也是提示400 Bad Request
400 Bad Request Bad Request
Your browser sent a request that this server could not understand.
首页是500,我刚才是直接访问的模块 显示400,
然后在后面加 xx.com/index.php 访问也不行了
只要全局有一个就行了
我找到原因了,是默认创建.htaccess的时候权限问题,因为我是root登录的,所以创建这个文件的权限是ROOT,我有把它设置成
777的权限,但还是一样,刚才我试着修改成此网站的用户组和用户,然后刷新就可以了。
谢谢徐版,
推荐阅读
-
thinkphp隐藏中url的index.php,thinkphpindex.php_PHP教程
-
ThinkPHP框架里隐藏index.php
-
thinkphp 5.0 如何在appache下隐藏index.php入口代码
-
thinkphp隐藏index.php/home并允许访问其他模块的实现方法
-
ThinkPHP 利用.htaccess文件的 Rewrite 规则隐藏URL中的 index.php 博客分类: PHP thinkphphtaccessrewriteindex.phpapache
-
ThinkPHP框架里隐藏index.php,thinkphpindex.php
-
thinkphp隐藏中url的index.php,thinkphpindex.php
-
ThinkPHP框架里隐藏index.php
-
Nginx配置PATHINFO隐藏thinkphp index.php
-
thinkphp隐藏index.php以后500