我的网址重写有问题。 首先,我开始认为我在网页结构中犯了错误。 我制作了多个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
<a href="http://www.example.com/section1.php?page=1>section1</a>
我需要手动重写它们或者它不重要,.htaccess会做这个工作吗?如果我需要重写网址,它会是这样吗? <a href="http://www.example.com/section1.php/section1/page/1">section1</a>
如何重写网址,使它们看起来像这样www.example.com/section1/page/1和www.example.com/section1/article/607575(我知道仅使用数字很糟糕,我只是需要了解它是如何工作的,然后我会弄明白,如何用文章名称替换它。)
答案 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