Php 重写.htaccess文件但不工作
我希望重写此url:Php 重写.htaccess文件但不工作,php,.htaccess,mod-rewrite,Php,.htaccess,Mod Rewrite,我希望重写此url: http://salessurface.com/overseas/sub_page_details/MBBSAbroad/MBBS-in-UK/7 进入: http://salessurface.com/overseas/sub_page_details.php?sup_menu=MBBS%20Abroad&menu=MBBS-在英国和主菜单中,id=7 我尝试将以下内容添加到.htaccess文件: RewriteEngine on RewriteCond %{REQU
http://salessurface.com/overseas/sub_page_details/MBBSAbroad/MBBS-in-UK/7
进入:
http://salessurface.com/overseas/sub_page_details.php?sup_menu=MBBS%20Abroad&menu=MBBS-在英国和主菜单中,id=7
我尝试将以下内容添加到.htaccess文件:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ overseas/sub_page_details.php?sup_menu=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)$ overseas/index.php?sup_menu=$1&menu=$2 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)$ overseas/index.php?
sup_menu=$1&menu=$2&main_menu_id=$3 [L]
但它不起作用
如何完成重写?您不需要条件,只需一条规则即可:
RewriteEngine on
RewriteRule ^overseas/sub_page_details/(.*)/(.*)/(.*) /overseas/sub_page_details.php?sup_menu=$1&menu=$2&main_menu_id=$3 [NC,L]
这将采用子页面\u details
之后的路径,并将第一部分放在辅助菜单中,第二部分放在菜单中,第三部分放在主菜单id中
但是我注意到,在您的示例URL中,您在真实URL中使用MBBS%20
,但在重写的URL中使用MBBSAbroad
,如果这不是一个拼写错误,并且真实URL上有一个没有重写URL的空间,那么您需要对该选项使用不太具体的重写:
RewriteEngine on
RewriteRule ^overseas/sub_page_details/MBBSAbroad/(.*)/(.*) /overseas/sub_page_details.php?sup_menu=MBBS\ Abroad&menu=$1&main_menu_id=$2 [NC,L]
这将对URL的sup\u菜单
部分进行硬编码,并在MBBSAbroad
之后选择路径,将第一部分放在菜单
中,第二部分放在主菜单id
中。您不需要条件,只需一条规则即可:
RewriteEngine on
RewriteRule ^overseas/sub_page_details/(.*)/(.*)/(.*) /overseas/sub_page_details.php?sup_menu=$1&menu=$2&main_menu_id=$3 [NC,L]
这将采用子页面\u details
之后的路径,并将第一部分放在辅助菜单中,第二部分放在菜单中,第三部分放在主菜单id中
但是我注意到,在您的示例URL中,您在真实URL中使用MBBS%20
,但在重写的URL中使用MBBSAbroad
,如果这不是一个拼写错误,并且真实URL上有一个没有重写URL的空间,那么您需要对该选项使用不太具体的重写:
RewriteEngine on
RewriteRule ^overseas/sub_page_details/MBBSAbroad/(.*)/(.*) /overseas/sub_page_details.php?sup_menu=MBBS\ Abroad&menu=$1&main_menu_id=$2 [NC,L]
这将对URL的sup\u菜单
部分进行硬编码,并在mbbsaboard
之后选择路径,并将第一部分放入菜单
,第二部分放入主菜单id
中,最后一个重写规则
不应该是^([^/]+)/([^/]+)/([^/]+)/([^/]+)$
因为第二个和第三个是相同的正则表达式?不起作用,但如果删除最后两个规则而只保留第一个规则,它会起作用吗?最后一个重写规则不应该是^([^/]+)/([^/]+)/([^/]+)$
因为第二个和第三个规则是相同的正则表达式?不起作用,但如果删除最后两个规则而只保留第一个规则,它会起作用吗?