如何通过PHP制作.htaccess文件?如果在我的目录中找不到.htaccess文件

时间:2016-11-24 10:59:39

标签: php apache .htaccess mod-rewrite

实际上我已经创建了一个PHP脚本,其中需要.htaccess文件。但问题是:当我在Ipage服务器上的脚本时,此服务器不会自动上传.htaccess文件。

虽然我可以通过“创建文件”按钮从服务器创建.htaccess文件。在这种情况下,我想:我的脚本将自动创建.htaccess文件,如果在我的目录中找不到.htaccess文件。

我的.htaccess文件的代码是

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

1 个答案:

答案 0 :(得分:1)

使用PHP的bool file_exists ( string $filename )方法检查文件是否存在。如果没有创建并将内容写入其中(例如使用file_put_contents)。

if(!file_exists('.htaccess'))
{
    $content = 'RewriteEngine On' . "\n"
    $content .= 'RewriteCond %{REQUEST_FILENAME} !-d' . "\n"
    $content .= 'RewriteCond %{REQUEST_FILENAME} !-f' . "\n"
    $content .= 'RewriteCond %{REQUEST_FILENAME} !-l' . "\n\n"
    $content .= 'RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]';

    file_put_contents('.htaccess', $content);
}