我有一个网站,当我显示任何页面时,网址将更改为: https://www.asdgsdgsd.nl/index.php或about.php或contact.php等......
我已经看到你可以使用.htaccess创建“清理网址”,但链接是:https://www.asdgsdgsd.nl/index.php?page= $ 1。
我可以创建干净的网址吗?
我在我的根文件夹上的.htaccess文档中试过这个:
get
有人可以帮我吗? 你需要更多信息吗?请问,我会回答!!
答案 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如果使用了这个规则,则不再处理任何规则。
#处理“宠物护理”的请求 - 评论说明规则的作用(可选但推荐)