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

问题描述:

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

我试着用下面的htaccess代码。但它不适合我。

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

此域名仅用于显示用户信息。所以只有2页将被使用。

在此的.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] 

这意味着所有的URL中包含指数,打开username.php文件用GET - 参数 “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] 
+0

是,可能上面的代码中使用了不同的的index.php或index.html –

+0

是改变重写规则'^(。*)$'行到'^(。*)+ \。php $',所以只有php文件在这个规则中,或者** html **而不是** php ** – Richard

+0

理查德,感谢它的工作原理..但我需要一个小的改变在我们的代码。我想除了index.php之外的重定向。 –

尝试用下面,

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

嗨Abhishek Gurjar,感谢您的代码。但它不起作用.. –

+0

什么是错误 –

+0

访问被禁止! 错误403 –