2015-12-02 66 views
0

我有一个网站,当我显示任何页面的URL将变为: https://www.asdgsdgsd.nl/index.php或about.php或contact.php等等如何使清洁的网址

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

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

我有一个的.htaccess文件中尝试这个对我的根文件夹:

RewriteEngine On 
    RewriteRule ^([a-zA-Z0-9]+)$ index.php 

一些一谁可以帮我请? 您需要更多信息?只是问,我会回答它!

+0

你到底要达到什么样的? – Jan

+0

在互联网上有很多这方面的例子/教程。 – Novocaine

回答

1

您有使用重写规则的想法,但是您错过了最后一步。

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

$1会第一时间varable进入这样你可以有/index/example和单词的例子可以拉作为_get['id']

您可以通过这种方式创建multipule:

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

和等等。

更新:

如果你只是想使URL看起来更漂亮按照此链接上使用重写规则的所有不同的方式阅读起来。

您可以更改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”行是其中t他发生了魔法。该行可以分为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如果使用这个规则,不要处理更多的规则。

为“宠物护理”#处理请求 - 注释解释规则做什么(可选,但推荐)

+0

是的,我知道,但这只是问题!我没有任何是= $ 1&登录= $ 2等...我只有链接; index.php,about.php portfolio.php等...但我怎么能这样的链接? https://asdgasdg.nl/home/或https://asdgasdg.nl/about/或https://asdgasdg.nl/portfolio/ 例如,我只想离开.php :) –

+0

在那案例这里是一个网站,列出这一切:https://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/ 向下滚动到标记为基本URL重写的部分。 它谈到了转向http://www.pets.com/pet_care_info_07_07_07_2008.php 进http://www.pets.com/pet-care/ – simonr2

+0

谢谢!它为我工作的教程! :) –