我搜索了它。但我无法找到我需要的东西。
我有一个像
的网址mydomain.com/1hr6rry5
目前,当用户点击此链接时,他将实际进入
mydomain.com/profile.php?id=1hr6rry5
如果网址像mydomain,他会去
mydomain.com/home.php
我的意思是当url有一个参数时他会去profile.php,当没有参数时他会去home.php。
到目前为止,我正在使用php进行重定向,这看起来很慢。我希望通过使用htaccess来加快速度。
我该怎么做?
我的htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/\.]+)/?$ profile.php?id=$1 [L]
我的index.php用于重定向
<?php
if(empty($_GET['act_id']))
{
header('Location: home.php');
exit();
}
header('Location: profile.php?id='.$_GET['act_id']);
?>
答案 0 :(得分:0)
您正在寻找规则
from collections import Counter
l1 = [1, 2, 2, 3]
l2 = [2, 3]
counter_l1 = Counter(l1)
counter_l2 = Counter(l2)
res = counter_l1 - counter_l2
print(sorted(res))
>> [1, 2]
在您的规则中包含此内容,因为您网站的每个请求都会重定向到home.php,如果遗漏了某些内容,请提供详细信息。
答案 1 :(得分:0)
仅使用Apache配置(然后是.htaccess),您可以尝试:
网址重写:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ profile.php?id=$1 [L,QSA]
</IfModule>
要将“home.php”定义为您网站的登录页面(或索引),请打开您网站的Apache配置文件(例如,default.conf或apache2.conf或httpd.conf) :
<Directory /path/to/your/webproject>
DirectoryIndex home.php index.php index.html
</Directory>
答案 2 :(得分:0)
您可以使用以下规则
DirectoryIndex home.php
RewriteEngine on
RewriteRule ^([./]+)$ /profile.php?id=$1 [L]
答案 3 :(得分:-2)
尝试包含该页面:
if(empty($_GET['act_id']))
{
include ('home.php');
} else {
include ('profile.php');
}