我正在一个网站上,其中所有页面实际上是index.php +一个被分析的'name'参数
并加载适当的模板和内容
主页网址是:
http://www.some_site.com/?page=homepage
1。我被要求将主页网址“更改”为:
的 http://www.some_site.com
我可以使用网址重写和htaccess,如果是这样,我应该在那里写什么?
在我的本地机器上工作,我尝试了这段代码(启用了模式重写):
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteRule /index.php /index.php?page=homepage
</IfModule>
我仍然需要'name'参数可供php代码使用,所以我可以加载 模板和css文件。
2。从其他页面(不是主页)转换(例如)很好
的 http://www.some_site.com/?page=products
于:
的 http://www.some_site.com/products
这不太重要。
答案 0 :(得分:3)
根本不需要重写规则。只需更改index.php文件,以便在根本没有页面变量时显示主页。
if (!isset($_GET['page'])) {
$_GET['page'] = 'homepage';
}
出于教育目的,重写规则:
RewriteRule /$ index.php?page=homepage [L]
也就是说,匹配的URI只是斜杠(URI在URL中的域之后开始)。 $
表示斜杠后不应有任何字符。
对于产品等,假设单个单词仅由字母组成:
RewriteRule /([a-zA-Z]+)$ index.php?page=$1 [L]
答案 1 :(得分:1)
以下应该是您正在寻找的(对于您的第二个,不太重要的问题)。把它放在你的.htaccess
- 文件中:
RewriteEngine On
RewriteRule ^/([a-zA-z0-9-_]+)/?$ index.php?page=$1