Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将HTML站点移动到PHP_Php_Html_.htaccess - Fatal编程技术网

将HTML站点移动到PHP

将HTML站点移动到PHP,php,html,.htaccess,Php,Html,.htaccess,我目前运行一个有750页.html网页的网站(是的,我知道这是一个愚蠢的想法,但我是一个新手)。我希望将这些迁移到php。我真的不想设置750个单独的301重定向并将每个页面重写为.php 我听说我可以使用htaccess访问这个。有人知道怎么做吗 还有几个问题- 我是否可以永久地将这些链接从html重定向到php,而不会丢失搜索引擎排名和搜索结果 如果我想将php添加到每个文件中(例如,php文件菜单(使用include命令)以使链接更快地更新,这会起作用吗?因为它们不是仍然是html文件吗

我目前运行一个有750页.html网页的网站(是的,我知道这是一个愚蠢的想法,但我是一个新手)。我希望将这些迁移到php。我真的不想设置750个单独的301重定向并将每个页面重写为.php

我听说我可以使用htaccess访问这个。有人知道怎么做吗

还有几个问题-

  • 我是否可以永久地将这些链接从html重定向到php,而不会丢失搜索引擎排名和搜索结果
  • 如果我想将php添加到每个文件中(例如,php文件菜单(使用include命令)以使链接更快地更新,这会起作用吗?因为它们不是仍然是html文件吗

  • 抱歉提出了这些愚蠢的问题,但我仍在学习。

    对于重定向,您可以使用Apache模块mod_rewrite:

    您可以使用url重写将特定的文件名请求与正则表达式匹配,然后决定在匹配的情况下重定向到何处

    RewriteRule ^myname/?$  myname.php    [NC,L]
    

    取决于您的结构。 您希望用户在其自然位置访问它们吗

    /public_html/folder1/file.php
    user would access like
    mydomain.com/folder1/file
    
    或者您想以不同的方式映射它们

    我个人认为我应该使用重写规则将所有请求映射到my/public_html/index.php,并使用php(例如使用include)映射从那里发出的请求。这提供了极大的灵活性,而且您的应用程序只有一个入口点,这非常有益,因为您可以轻松地保持对应用程序流的控制

    .htaccess将如下所示

    #
    # Redirect all to index.php
    #
    RewriteEngine On
    
    # if a directory or a file exists, use it directly
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    
    # RewriteCond %{REQUEST_URI} !^/index\.php
    # RewriteCond %{REQUEST_URI} (/[^.]*|\.(php|html?))$ [NC]
    RewriteCond %{REQUEST_URI} (/[^.]*|\.)$ [NC]
    RewriteRule .* index.php [L]
    

    当然,我会将所有不可直接访问的文件(除索引和css、js、图像等外的所有文件)放在公共html之外的文件夹中,以确保任何用户都无法直接访问这些文件;)

    祝贺您访问了一个750页的网站-您一定为此做了一些工作

    要收集当前的页面列表,请使用名为xenu的工具创建到excel的导出。然后,您可以轻松地将b列中的文件名更改为PHP,并创建一个.htaccees文件

    但是,为什么需要750个php文件?如果你有很多数据页面,把它做成一个页面,吸收HTML的主要内容并引用一个页面。如果您有一个名为warehouse-depot-22-row-44.html的页面,那么将其更改为显示warehouse-row.php?depot=22&row=44并仅返回该内容。这将大大减少页面数量,并开始使用数据库呈现内容

    我有一个类似的(但要小得多)网站也经历了同样的事情

    我在.htaccess中有以下内容:

    RewriteEngine On
    RewriteRule ^(.*)\.html$ $1.php [L]
    
    这将有助于将所有访问.html地址的访问者重定向到.php地址

    希望您有一个IDE(我推荐Aptana),并且您可以在项目范围内使用一些查找/更改函数,并且希望花一些时间和耐心获得从.html到.php的内部链接


    但是,我要提醒你一点——也许是时候研究基于数据库的CMS了,比如Wordpress或Drupal?

    为什么要迁移到php?简单地重定向文件有什么用处?如果您创建了一个动态站点,那么您可以在php中进行迁移。只有几页,你就能看到很多页。但您的想法是,拥有300页的html站点,希望将其移动到php站点,重定向300页。这不是一个好主意如果你只想重定向,apache可以。那么,您将向php迁移/写入什么内容?没有为php留下任何东西。