更改网址不包括/index.php

时间:2014-04-14 05:46:24

标签: php .htaccess url-rewriting

我有一个简单的配置文件系统,它有一个URL重写,可以更改URL,如:

www.domain.com/profile.php?id=user 

要:

www.domain.com/user

使用:

RewriteEngine on
RewriteRule ^([A-Za-z0-9]+)$ profile.php?id=$1 [L]

话虽如此,我将如何更改网址:

www.domain.com/something/index.php

要:

www.domain.com/something

不破坏个人资料网址设置?我会把重写放在.htaccess文件中吗?谢谢你帮助一个菜鸟。

2 个答案:

答案 0 :(得分:1)

如果something不是常数,则无法执行此操作,您需要使用其他网址格式,例如www.domain.com/page/something。但是,如果`something常量,则可以使用;

RewriteEngine on
RewriteCond !^something [NC]
RewriteRule ^([A-Za-z0-9]+)$ profile.php?id=$1 [L]

RewriteCond ^something [NC]
RewriteRule ^something something/index.php [L] 

如果你使用不同的网址格式,那么

您可以使用

www.domain.com/page/something;

RewriteEngine on
RewriteRule ^page/([A-Za-z0-9]+)$ $1/index.php [L]

答案 1 :(得分:0)

您可以使用此规则从以下任何位置删除/index.php

DirectoryIndex index.php
RewriteEngine On

RewriteCond %{THE_REQUEST} /index\.php [NC]
RewriteRule ^(.*?)index\.php$ /$1 [L,R=301,NC,NE]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([A-Za-z0-9]+)/?$ profile.php?id=$1 [L,QSA]