1

我是 .htaccess 的初学者,有人可以帮我吗?

//我的 .htaccess 代码

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /alumini/profile.php?username=$1

//通过上面我可以重定向url

localhost/alumini/profile.php?username=name

本地主机/铝/名称

但我也想隐藏loacalhost/alumini/index.phploacalhost/alumini

简单地说……

我想要一个 htaccess 代码来隐藏索引页面,我还需要转换

localhost/alumini/profile.php?username=name

本地主机/铝/名称

4

2 回答 2

2

您的第一个请求是重写,而不是重定向。你的第二个是重定向。对于重写,以下规则应该可以解决问题(未经测试):

RewriteRule ^localhost/alumini/([a-zA-Z]+)$ /alumini/profile.php?username=$1

括号内的正则表达式匹配一个或多个大写或小写字母,不匹配其他任何内容,匹配的值传递给 $1。您可能需要根据用户名的格式更改正则表达式。

和 index.php 重定向(删除它存在的 index.php):

Redirect 301 /alumini/index.php http://localhost/alumini

301 代表页面已永久移动的事实,并且对于 SEO 更好,因为只有非 index.php 页面将被编入索引。

于 2012-11-16T12:01:59.027 回答
0
RewriteRule ^localhost/alumini/([a-zA-Z0-9]+)$ /alumini/profile.php?username=$1
RewriteRule ^localhost/alumini$ /alumini/index.php
于 2012-11-16T12:20:35.870 回答