[英]htaccess RewriteRule not work
我在这里的第一个问题希望找到正确的答案。
这里是:
我尝试将http://mysite.it/home.php?pagina=ciao
转换为http://mysite.it/ciao
我把我的.htaccess
放在里面:
RewriteEngine On
RewriteRule ^home.php?(.*)$ $1
它向我显示: http://mysite.it/?pagina=ciao
: http://mysite.it/?pagina=ciao
我知道RewriteRule中出了点问题,但是我不明白如何仅在home.php?pagina=
才能选择ciao
,我在PHP页面上有此命令$get= @$_GET ['pagina'];
我表示感谢,希望能解决这个问题。
您可以在DOCUMENT_ROOT/.htaccess
文件中使用以下代码:
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} /home\.php\?pagina=([^\s&]+) [NC]
RewriteRule ^ %1? [R=302,L,NE]
RewriteCond %{THE_REQUEST} /(home)\.php\s [NC]
RewriteRule ^ %1 [R=302,L]
RewriteRule ^(home)/?$ $1.php [L,NC]
# internal forward from pretty URL to actual one
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)/?$ home.php?pagina=$1 [L,QSA]
我相信您正在寻找的是:
RewriteEngine On
RewriteRule ^([A-Za-z]+)$ /home.php?pagina=$1
我希望你没有做:
require_once($get);
之后的代码,因为那将是非常危险的...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.