PHPnow – 嗨软 https://ihacksoft.com/archive 分享最好用的常用软件 Tue, 22 Nov 2022 02:41:09 +0000 zh-CN hourly 1 https://wordpress.org/?v=4.9.26 PHP环境报错“Internal Server Error”,解决了! https://ihacksoft.com/archive/1332.html https://ihacksoft.com/archive/1332.html#respond Mon, 07 Mar 2016 08:55:55 +0000 https://ihacksoft.com/?p=2061   有几次调试 WordPress 的时候,很奇怪,明明正常的PHP环境(用的是PHPnow),明明正常的网站程序,打开就报错。 为了排除网站程序的问题,于是打开 phpmyadmin 看看:127.0.0.1/phpmyadmin/,结果还是报错,信息如下:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, admin@phpnow.org and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Apache/2.0.63 (Win32) PHP/5.2.14 Server at 127.0.0.1 Port 80

  Apach、MySQL都重启过的,没有用,报错依旧。前面好像有过几次,害得我去重装了PHPnow。今天又遇到了这个问题,感觉不是重不重装的问题了,试着删除了网站根目录下的 .htaccess 文件,结果可以了!!

]]>
https://ihacksoft.com/archive/1332.html/feed 0
Apache的Rewrite原来就是这样!管它是PHPnow还是XAMPP https://ihacksoft.com/archive/1275.html https://ihacksoft.com/archive/1275.html#comments Fri, 21 Jan 2011 02:49:17 +0000 https://ihacksoft.com/?p=2004   公司有一台服务器上装的是XAMPP,没有开启Rewrite重定向功能,前天有云和的农产品网上交易市场网站要放上来,开发商那边发来了网站文件和数据库.sql文件,并标明哪个是数据库配置文件。这样我就顺利把网站搭建在了服务器上,但是我发现它有很多伪静态链接,服务器必须得支持URL Rewrite才行。我就去翻关于XAMPP开启rewrite的文章,结果找到的基本是这样的方法:

  在你的XAMPP安装目录下找到httpd.conf 这个文件( 位于\xampp\apache\conf\httpd.conf),用记事本或文本编辑器打开它
“Ctrl+F”找到“AllowOverride None”,替换为”AllowOverride All“。(总共有两个,应该是修改第一个就可以了,不过你把两个都改了也没影响),再找到”#LoadModule rewrite_module modules/mod_rewrite.so“,把前面的”#”号去掉,重启XAMPP。

  前几天还写了过PHPnow实现Discuz!伪静态URL Rewrite,其实后来通过我的测试,我已经全部搞懂了。跟PHPnow和XAMPP根本没有关系,它们只是集成包啊!关键就在Apache呀!

  上面搜索到的方法,我试了没有用。后来我知道它是针对Apache独立服务器的,而我服务器上的Apache是分虚拟主机的。Apache虚拟主机如何添加?赶快看这里:Apache添加虚拟主机。以下我以我的实例来清楚地写一下Apache虚拟主机开启Rewrite的方法:

  1、打开apache\conf\httpd.conf,添加:

<Directory "E:/Program Files/yunhe">
    Order allow,deny
    Allow from all
</Directory>

  2、打开apache\conf\extra\httpd-vhosts.conf,Apache添加虚拟主机里不是提到了添加这样一个模块嘛:

<VirtualHost *:80>
    ProxyPreserveHost On
    DocumentRoot "E:/Program Files/tuan"
    ServerName  tuan.jxbot.com
    DirectoryIndex index.php
    <Directory "E:/Program Files/tuan"> 
     Options Indexes FollowSymLinks 
     AllowOverride None 
     Order allow,deny 
     Allow from all 
 </Directory>
</VirtualHost>

原来只要把上面的AllowOverride None改成AllowOverride All就行了!!!看我的配置:

<VirtualHost *:80>
    ProxyPreserveHost On
    DocumentRoot "E:/Program Files/yunhe"
    ServerName  yunhe.jxbot.com
    DirectoryIndex index.php
    <Directory "E:/Program Files/yunhe"> 
      Options Indexes FollowSymLinks 
      AllowOverride All 
      Order allow,deny 
      Allow from all 
  </Directory>
</VirtualHost>

  3、重启Apache。不需要像上面所说的重启XAMPP,我说了Rewrite只是和Apache相关,是Apache的一个功能。看,成功了!

title
]]>
https://ihacksoft.com/archive/1275.html/feed 2
『原创亲测』PHPnow实现Discuz!伪静态URL Rewrite https://ihacksoft.com/archive/1263.html https://ihacksoft.com/archive/1263.html#comments Fri, 07 Jan 2011 09:47:28 +0000 https://ihacksoft.com/?p=1992   我电脑上的PHP环境用的是PHPnow,支持绿色软件嘛呵呵~~下午在处理Discuz!的URL Rewrite,就是伪静态嘛,你懂的。我用的是最新的Discuz!X1.5,后台的设置很简单,全局——优化设置——搜索引擎优化,由于我是在本机上做测试,我只勾选了“论坛主题列表页”和“论坛主题内容页”,这个没关系的,如下图:

Discuz!伪静态设置

  然后点击上方的“查看当前的 Rewrite 规则URL 静态化”,Discuz!已经帮你自动生成好Rewrite规则了,如下图:

Discuz!伪静态

  复制一下规则:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/article-([0-9]+)-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page\%3D$4&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/([a-z]+)-(.+)\.html$ $1/$2.php?rewrite=$3&%1
</IfModule>

  打开Apache的conf/httpd.conf,搜索“rewrite”,确保开启了rewrite模块,即“LoadModule rewrite_module modules/mod_rewrite.so”这一顶前面没有#号。PHPnow默认是开启的。

  找到“NameVirtualHost”,把它前面的#去掉,即开启它,写入:

NameVirtualHost 127.0.0.1:80

<VirtualHost 127.0.0.1:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot D:\Website\phpnow\htdocs
ServerName dummy-host.example.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/article-([0-9]+)-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page\%3D$4&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/([a-z]+)-(.+)\.html$ $1/$2.php?rewrite=$3&%1
</IfModule>   //这一段是上面从Discuz!后台复制过来的。

</VirtualHost> 

  这里一定要注意路径!!!我一开始写成了D:\Website\phpnow,害我折腾了很久,应该是D:\Website\phpnow\htdocs。最后重启一下Apache:PnCp.cmd—23,OK了,PHPnow成功实现Discuz!伪静态!

Discuz!伪静态
]]>
https://ihacksoft.com/archive/1263.html/feed 2