如何制作干净的URL

时间:2015-12-02 16:44:21

标签: php .htaccess

我有一个网站,当我显示任何页面时,网址将更改为: https://www.asdgsdgsd.nl/index.php或about.php或contact.php等......

我已经看到你可以使用.htaccess创建“清理网址”,但链接是:https://www.asdgsdgsd.nl/index.php?page= $ 1。

我可以创建干净的网址吗?

我在我的根文件夹上的.htaccess文档中试过这个:

get

有人可以帮我吗? 你需要更多信息吗?请问,我会回答!!

1 个答案:

答案 0 :(得分:1)

你有使用重写规则的想法,但你错过了最后一点。

RewriteRule ^([a-zA-Z0-9]+)$ index.php?id=$1

$1将输入第一个可变对数,因此您可以/index/example,并且可以将单词示例拉为_get['id']

你可以用这种方式创建multipule:

RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ index.php?id=$1&login=$2

等等。

更新

如果您只想让网址看起来更漂亮,请点击此链接,了解使用重写规则的所有不同方法。

您可以更改http://www.pets.com/pet_care_info_07_07_2008.php

看起来更像是这样:http://www.pets.com/pet-care/

如果那就是您要找的内容,那么您要使用的规则是:

RewriteEngine On    # Turn on the rewriting engine
RewriteRule    ^pet-care/?$    pet_care_info_01_02_2008.php    [NC,L]    # Handle requests for "pet-care"

引自https://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/

  

“RewriteRule”行是神奇发生的地方。该行可以分为5个部分:

     

RewriteRule - 告诉Apache这就像是指一个RewriteRule。

     

^ / pet-care /?$ - “模式”。服务器将检查网站的每个请求的URL,以查看此模式是否匹配。如果是,那么Apache将交换请求的URL以用于后面的“替换”部分。

     

pet_care_info_01_02_2003.php - “替代”。如果上述模式与请求匹配,则Apache使用此URL而不是请求的URL。

     

[NC,L] - “标志”,告诉Apache如何应用规则。在这种情况下,我们使用两个标志。 “NC”告诉Apache该规则应该不区分大小写,并且“L”告诉Apache如果使用了这个规则,则不再处理任何规则。

     

#处理“宠物护理”的请求 - 评论说明规则的作用(可选但推荐)