我希望它显示的网址为 /index.php?page=somePage&id=someID&siteAddress=someAddress
为 /someAddress/?page=somePage&id=someID
。如何使用.htaccess重写此网址
我该如何使用重写规则呢?
我希望它显示的网址为 /index.php?page=somePage&id=someID&siteAddress=someAddress
为 /someAddress/?page=somePage&id=someID
。如何使用.htaccess重写此网址
我该如何使用重写规则呢?
要在内部重写/someAddress到的index.php:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} ^page=([^&]+)&id=([^&]+)$
RewriteRule ^/?([^/]+)/$ /index.php?page=%1%id=%2&siteAddress=$1 [L]
在外部重定向的index.php到/someAddress:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\?page=([^&]+)&id=([^&]+)&siteAddress=(^[&\ ]+)
RewriteRule^/%3/?page=%1&id=%2 [L,R=301]
我想在内部重写它,所以我将该代码添加到.htaccess。但该网站没有显示结果页面。该网站是http://public.forumzbb.com/test/?page=register&id=null。我应该在页面上看到的是http://public.forumzbb.com/index.php?page=register&id=null&siteAddress=test。是的,它应该显示为一个简单的“网站未安装”。文本。感谢您的帮助:) – user1748794
@ user1748794您是否将这些规则放置在文档根目录下的htaccess文件的顶部?你确定mod_rewrite已打开吗?你的虚拟主机/服务器配置中是否设置了'AllowOverride All'? –
哎呀,谢谢。现在解决了,只是忘了在文件的顶部放置'RewriteEngine On'。再次感谢你 :) – user1748794
哪里' someAddress'来自?这是'siteAddress'查询字符串参数的值吗? –
固定为更清晰的措辞。 siteAddress应该等于someAddress,即在两个正斜杠之间提供的值。 – user1748794