mod_rewrite名字域
问题描述:
我是mod_rewrite
的完全新手,我一直在经历一些网站阅读如何处理这个,所有我能找到的是当变量是数字而没有关于字符串,并且事实证明已经结束我的头。mod_rewrite名字域
我想要做的是回答改写display.php?name=blahblah123
到display/blahblah123
在一起,我会喜欢一些网站,我可以建立一些掌握了mod_rewrite
自己。
感谢
编辑:
随着越来越多的搜索,我想出了这个
RewriteEngine On
RewriteBase/
RewriteRule ^display/([a-z]+)$ display.php?name=$1 [L]
上述工程的代码,但由于某些原因,我得到的页面没有CSS。包括我看到的CSS显示Hostgator的404页面CSS。但是HTML看起来很好,内容和其他一切都很好。任何想法?
答
只要是明确的,mod_rewrite的是什么,在Apache的内部发生。我发现有时候人们不明白它做了什么,也没有做什么。它不会采取一个网址,你输出,并将其从
display.php?name=blahblah123
改变 显示/ blahblah123
这将然而,让别人从你的网站显示/ blahblah123发出请求,转换至display.php?name = blahblah123,以便您的display.php脚本可以对其进行操作。
重写规则需要理解正则表达式。你越了解正则表达式越容易mod_rewrite将为你。
作为一个初学者这篇文章应该有所帮助:http://www.sitepoint.com/guide-url-rewriting/
为了您的具体问题,我可能会使用:
RewriteRule ^display/([a-zA-Z0-9]+)$ /display.php?name=$1
答
试着把一个“/”放在css文件名的前面。
<link rel=".." href="/style.css".
代替
<link rel=".." href="style.css".