这是我的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错误

基本上我的第一个参数将带有-(连字符),有什么解决办法?

最佳答案

重写规则包含:[a-zA-Z0-9]+,表示:字母+数字。因此将其更改为:[a-zA-Z0-9\-]+还包括连字符

关于javascript - 使用.htaccess进行的网址重写未找到404,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41239500/

10-11 03:56