.htaccess多次重写?

时间:2013-03-15 15:24:40

标签: php html .htaccess

我想重写多个页面。

我想要将mysite.com/home的请求重写为mysite.com/home.php,并要求将mysite.com/u/erty5000重写为mysite.com/profile.php?u=erty5000使用.htaccess文件。

这可能吗?如果是,怎么样?

到目前为止,这是我将mysite.com/home的请求重写为mysite.com/home.php的方法

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+)$ /$1.php [L,QSA]

提前致谢! :d

1 个答案:

答案 0 :(得分:1)

你已经有了第一条规则。但是,您必须排除u/...请求。添加RewriteCond,执行此操作

RewriteCond %{REQUEST_URI} !^/u/

第二次重写的工作原理类似。从请求中提取所需的部分并在替换中使用它

RewriteRule ^u/(.+)$ /profile.php?u=$1 [L,QSA]