.htaccess重写index.php的选项并获取变量
我对重写选项有问题,在互联网上找不到正确的答案,所以我希望这个社区能帮助我 我正在本地处理一个web项目,并使用XAMPP作为本地web服务器。 我制作了一个VirtulHost(basic.localhost),现在mod_重写选项出现了问题 当存在url时:basic.localhost/index.php/var1=option1&var2=option2&var3=option3&var4=option4 我想将url重写为:basic.localhost/option/option2/option3/option4 var1到var4变量用作GET变量,用于从数据库中选择内容。 这是我现在的.htaccess:.htaccess重写index.php的选项并获取变量,php,apache,mod-rewrite,web-deployment,Php,Apache,Mod Rewrite,Web Deployment,我对重写选项有问题,在互联网上找不到正确的答案,所以我希望这个社区能帮助我 我正在本地处理一个web项目,并使用XAMPP作为本地web服务器。 我制作了一个VirtulHost(basic.localhost),现在mod_重写选项出现了问题 当存在url时:basic.localhost/index.php/var1=option1&var2=option2&var3=option3&var4=option4 我想将url重写为:basic.localhost/option/option2/
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
</IfModule>
重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
我尝试的所有重写规则都不起作用…我找到了变量问题的答案:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)$ index.php?var1=$1&var2=$2&var3=$3&var4=$4 [L,QSA]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ index.php?var1=$1&var2=$2&var3=$3 [L,QSA]
RewriteRule ^([^/]+)/([^/]+)$ index.php?var1=$1&var2=$2 [L,QSA]
RewriteRule ^([^/]+)$ index.php?var1=$1 [L,QSA]
</IfModule>
重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)$index.php?var1=$1&var2=$2&var3=$3&var4=$4[L,QSA]
重写规则^([^/]+)/([^/]+)/([^/]+)$index.php?var1=$1&var2=$2&var3=$3[L,QSA]
重写规则^([^/]+)/([^/]+)$index.php?var1=$1&var2=$2[L,QSA]
重写规则^([^/]+)$index.php?var1=$1[L,QSA]
现在只有index.php存在问题。我终于找到了解决方案:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)$ index.php?var1=$1&var2=$2&var3=$3&var4=$4 [L,QSA]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ index.php?var1=$1&var2=$2&var3=$3 [L,QSA]
RewriteRule ^([^/]+)/([^/]+)$ index.php?var1=$1&var2=$2 [L,QSA]
RewriteRule ^([^/]+)$ index.php?var1=$1 [L,QSA]
</IfModule>
重新启动发动机
RewriteCond%{THE_REQUEST}^GET.*index\.php[NC]
重写规则(.*)索引\.php/*(.*)/$1$2[R=301,NE,L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)$index.php?var1=$1&var2=$2&var3=$3&var4=$4[L,QSA]
重写规则^([^/]+)/([^/]+)/([^/]+)$index.php?var1=$1&var2=$2&var3=$3[L,QSA]
重写规则^([^/]+)/([^/]+)$index.php?var1=$1&var2=$2[L,QSA]
重写规则^([^/]+)$index.php?var1=$1[L,QSA]