将HTML站点移动到PHP
我目前运行一个有750页.html网页的网站(是的,我知道这是一个愚蠢的想法,但我是一个新手)。我希望将这些迁移到php。我真的不想设置750个单独的301重定向并将每个页面重写为.php 我听说我可以使用htaccess访问这个。有人知道怎么做吗 还有几个问题-将HTML站点移动到PHP,php,html,.htaccess,Php,Html,.htaccess,我目前运行一个有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留下任何东西。