Typecho后台设置永久链接后,会在域名后加上index.php,这个问题困扰了我一段时间。在网上搜索过一些教程后发现在Godaddy主机下并没有成功...

例如如下网址:
https://www.rin404.com/index.php/archives/37/
但我们希望最终的形式是这样:
https://www.rin404.com/archives/37.html

后台配置typecho伪静态

在typecho后台,开启伪静态,并选择你喜好的url形式:
永久链接设置 - Rin404° - Powered by Typecho.png

配置服务器的rewrite规则

如果在保存上述配置的时候,typecho无法自动配置,那么你可能需要手动配置服务器的rewrite规则。

打开public_html下的 .htaccess文件。如果没有显示,请点击Cpanel右上角的设置,把选项里面的显示隐藏文件给勾上。
cPanel File Manager v3 .png

Apache配置

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule . /index.php [L]
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule . /index.php [L]
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-httpd-php application/x-javascript
# END
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]

RewriteRule . /index.php [L]这行前面加个 #注释掉就可以了。

F&Q

Godaddy虚拟主机上的No input file specified错误

这个问题目前多发现于 godaddy的虚拟主机上,而它的配置也是我见过最奇怪的虚拟主机之一。首先出现以上错误的原因是php没有识别出 pathinfo导致的,因为godaddy使用的是cgi模式(估计是为了同时兼容php4和php5)来运行php,所以会出现一些奇怪的问题。

解决方法

在根目录下找到 php5.ini文件(如果找不到就建立一个),在里面加上如下内容

cgi.fix_pathinfo = 1
如果觉得我的文章对你有用,请随意赞赏