这是我的htaccess文件
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mysite.in$
RewriteRule ^/?$ "https\:\/\/www\.mysite\.in\/" [R=301,L]
RewriteRule \.(css|jpeg|gif|png|js|ico|img|chat)$ - [L]
RewriteRule ^detail/(css|js|img)/(.*)?$ /$1/$2 [L,QSA,R=301]
#RewriteRule ^$ index.php?name=kal
RewriteRule ^([a-zA-Z0-9]+)$ index.php?name=$1
RewriteRule ^([a-zA-Z0-9]+)/$ index.php?name=$1
RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ index.php?name=$1&place=$2
RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/$ index.php?name=$1&place=$2
当我请求 https://www.mysite.in/myname/myplace 时效果正常
但是当我请求 https://www.mysite.in/myname-n-m/myplace 时,它会找不到404错误
基本上我的第一个参数是 - (连字符),任何解决方案?
答案 0 :(得分:1)
重写规则包含:[a-zA-Z0-9]+
,其中包含:字母+数字。因此,将其更改为:[a-zA-Z0-9\-]+
也包含连字符
答案 1 :(得分:1)
你有没有试过这个......
RewriteRule ^([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)$ index.php?name=$1&place=$2