URL重写多个php文件

时间:2014-01-03 01:53:33

标签: php .htaccess mod-rewrite rewrite

我的网址重写有问题。 首先,我开始认为我在网页结构中犯了错误。 我制作了多个php文件。我认为这是错误的,因为在所有教程和示例网址中,他们只在.htaccess中使用index.php。

信息  1.我在导航标签中找到了index.php section1.php section2.php section3.php section4.php  2.在index.php中,我只有一个不会有太大变化的基本信息。  3.在每个section.php文件中,我回显出文章列表。  4.每个aricle都有id,当用户点击文章链接时,我用它来回显信息。  5.链接到文章“http://www.example.com/section1.php?id=607575”  6.在每个section.php文件中,我有多个页面。  7.现在我的部分页面链接看起来像这个“http://www.example.com/section1.php?page=1”。 问题

Qestions

  1. 我应该通过从url获取信息来更好地回显index.php页面上的所有信息吗?
  2. 如果现在我的链接看起来像这个<a href="http://www.example.com/section1.php?page=1>section1</a>我需要手动重写它们或者它不重要,.htaccess会做这个工作吗?
  3. 如果我需要重写网址,它会是这样吗? <a href="http://www.example.com/section1.php/section1/page/1">section1</a>

  4. 如何重写网址,使它们看起来像这样www.example.com/section1/page/1和www.example.com/section1/article/607575(我知道仅使用数字很糟糕,我只是需要了解它是如何工作的,然后我会弄明白,如何用文章名称替换它。)

2 个答案:

答案 0 :(得分:1)

如果我理解正确,这就是你要重写的方式:

RewriteEngine on

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

RewriteRule ^(.+)$ /path/to/section1.php?page=$ [QSA,L]

我不习惯mod_rewrite,但这应该有效。您可能还必须为?文章重写规则。

如果未正确回答,请参阅http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html

答案 1 :(得分:0)

来自:http://www.example.com/section1/page/1

收件人:http://www.example.com/section1.php?page=1

RewriteRule ^section(\d+)/page/(\d+)$ /path/to/section$1.php?page=$2

来自:http://www.example.com/section1/article/607575

收件人:http://www.example.com/section1.php?id=607575

RewriteRule ^section(\d+)/article/(\d+)$ /path/to/section$1.php?id=$2