我有这个代码,我试图重写这样的两个参数。
例如:www.mywebsite.com/chat.php?room = 12& name = my_room_name
像这样重写:
www.mywebsite.com/chat/12/my_room_name
AND:
然后,如果我有这个最后友好的URL在PHP
如果我写
$room = $_GET['room'] ;
$name = $_GET['name'] ;
echo $room ."<br />"; //echo -> 12/my_room_name --> wrong should be 12
echo $name ; // echo nothing . should be my_room_name
这是我的htaccess代码,我有
RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Za-z0-9]{3,}\s/+(?:chat\.php)?\?room=([^\s]+)&name=([^\s]+)? [NC]
RewriteRule ^ /chat/%1/%2? [R=301]
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^chat/(.*)$ chat.php?room=$1&name=$2 [QSA]
RewriteBase /
RewriteCond %{THE_REQUEST} /chat\.php\?r=([^\s&]+) [NC]
RewriteRule ^ chat/%1? [R=301,L,NE]
RewriteRule ^chat/([A-Za-z0-9-]+)/?$ chat.php?r=$1 [NC,L,QSA]
我不知道是否有什么不对,我是htaccess的新手。
感谢您的支持,如何解决这个问题?
答案 0 :(得分:2)
通过使.htaccess文件复杂化,不确定您要完成的任务。 一个只读它的简单.htaccess文件可以工作:
RewriteEngine On
RewriteBase /
RewriteRule ^chat/([^/]*)/([^/]*)$ /chat.php?room=$1&name=$2 [QSA,L]
如果您需要任何其他功能,请在此处解释,我可以编辑我的答案。