将HTML站点移动到PHP

时间:2012-10-13 11:21:18

标签: php html .htaccess

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

我听说我可以使用htaccess了。谁知道怎么做?

还有一些问题 -

  1. 我可以永久地将这些链接从html重定向到php而不会丢失我的搜索引擎排名和
  2. 如果我想将php添加到每个文件(即一个php文件菜单(使用include命令)以使链接更快更新,这会有效吗?因为它们还不是html文件吗?
  3. 抱歉愚蠢的问题,但我还在学习。

5 个答案:

答案 0 :(得分:1)

祝贺750页的网站 - 你必须付出一些努力。

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

但是你为什么要750个php文件?如果您有大量数据页,请将其设为一页并吸入HTML主内容并引用一页。如果您有一个名为warehouse-depot-22-row-44.html的页面,则将其更改为show-warehouse-row.php?depot = 22& row = 44并仅返回该内容。这将显着减少您的页数并开始使用数据库来呈现内容。

答案 1 :(得分:0)

对于重定向,您可以使用Apache Module mod_rewrite:https://httpd.apache.org/docs/current/mod/mod_rewrite.html

答案 2 :(得分:0)

您可以使用网址重写将特定文件名请求与正则表达式匹配,然后决定匹配时重定向的位置

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

http://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/

答案 3 :(得分:0)

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

/public_html/folder1/file.php
user would access like
mydomain.com/folder1/file

或者您想以不同方式映射它们?

我个人认为我会使用重写规则将所有请求映射到我的/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,图像等之外的所有文件)放在public_html之外的文件夹中,以确保没有用户可以直接访问它们;)

答案 4 :(得分:0)

我有一个类似的(但更小)网站经历了同样的事情。

我的.htaccess中有这个:

RewriteEngine On
RewriteRule ^(.*)\.html$ $1.php [L]

这有助于将.html地址的访问者重定向到您的.php地址。

你希望有一个IDE(我推荐Aptana),你可以在项目范围内使用一些查找/更改功能,希望有一些时间和耐心从.html到.php获取你的内部链接。

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