Php 获取变量显示在子目录重写中,mod_rewrite
Php 获取变量显示在子目录重写中,mod_rewrite,php,.htaccess,Php,.htaccess,我的网站链接是domain.com/index?page=projects 这是我的.htaccess: Options +FollowSymLinks -Multiviews <IfModule mod_rewrite.c> SetEnv HTTP_MOD_REWRITE On RewriteEngine on RewriteBase / RewriteCond %{THE_REQUEST} ^\w+\ /(.*)\.php(\?.*)?\ H
我的网站链接是domain.com/index?page=projects 这是我的.htaccess:
Options +FollowSymLinks -Multiviews
<IfModule mod_rewrite.c>
SetEnv HTTP_MOD_REWRITE On
RewriteEngine on
RewriteBase /
RewriteCond %{THE_REQUEST} ^\w+\ /(.*)\.php(\?.*)?\ HTTP/
RewriteRule ^ http://%{HTTP_HOST}/%1 [R=301]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .* $0.php
</IfModule>
Options+FollowSymLinks-多视图
SetEnv HTTP_MOD_重写
重新启动发动机
重写基/
重写cond%{u请求}^\w+\/(.*)\.php(\?.*)\HTTP/
重写规则^http://%{http_HOST}/%1[R=301]
RewriteCond%{REQUEST_FILENAME}.php-f
重写规则。*$0.php
我想将get vars转换为子目录。
如下所示:domain.com/index/projects或domain.com/projects
如何做到这一点?
谢谢更改规则,使其看起来像这样:
RewriteCond %{THE_REQUEST} ^\w+\ /(.*)\.php(?:\?page=([^&\ ]+)|)\ HTTP/
RewriteRule ^ http://%{HTTP_HOST}/%1/%2? [R=301,L]
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.*)/([^/]+)$ $1.php?page=$2 [L]
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.*)$ $1.php [L]
结果是:domain.com/index/projects?page=projects。是否可以这样更改:domain.com/index/projects?@user3374605抱歉,忘记了规则末尾的
?
:RewriteRule^(.*)$$1.php?[五十] @user3374605否,编辑了我的答案。在重定向规则的末尾,/%1/%2?
非常感谢。这很好,但不适用于我的新链接2 get var:index.php?page=fullProjects&id=1。我还可以添加此规则吗?