我有一个简单的配置文件系统,它有一个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文件中吗?谢谢你帮助一个菜鸟。
答案 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]