.htaccess - 重定向域名后的所有页面

时间:2017-06-21 12:37:16

标签: php .htaccess redirect mod-rewrite

我想将域名后面的所有php页面重定向到username.php?un =。 例如,如果用户请求http://example.com/username,则该页面将被重定向到username.php。

我尝试了以下htaccess代码。但它不适合我。

RewriteCond %{REQUEST_URI} /(.*)$
RewriteRule /(.*)$ username.php?un=$1 [L]

此域仅用于显示用户信息。所以只会使用2页。

2 个答案:

答案 0 :(得分:0)

看看这个.htaccess代码:

 RewriteEngine On
 RewriteRule ^(.+)\.html$ $1.php [L]
 RewriteCond %{REQUEST_URI} /index\.php
 RewriteRule ^(.*)$ username.php?un=$2 [L,QSA]
 RewriteCond %{REQUEST_URI} /$
 RewriteRule ^(.*)$ username.php?un=$1 [L,QSA]
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*)$ username.php?un=$1 [L,QSA]

这意味着所有网址都包含索引,使用GET打开username.php文件 - 参数“un”($_GET["un"])。在$_GET["un"]中,您可以找到正常的网址。

修改:此规则中只有HTML文件:

 RewriteEngine On
 RewriteRule ^(.*)+\.html$ username.php?un=$2 [L,QSA]
 RewriteCond %{REQUEST_URI} /$
 RewriteRule ^(.*)+\.html$ username.php?un=$1 [L,QSA]
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*)+\.html$ username.php?un=$1 [L,QSA]

答案 1 :(得分:0)

尝试以下,

RewriteEngine On
RewriteRule ^(.+) username.php?un=$1 [R=301]