我有一个htaccess文件,将我的网址重写为更友好的网址
# '/'.$i.'/'.$company;
RewriteRule ^([0-9]+)/([a-zA-Z0-9\_\-]+)(/?)$ /offer.php?i=$1&company=$2 [NC,L]
这个工作正常,除非在下面的情况下页面呈现完美......
/ 14 / barringtons的婚礼汽车
/ 13 /牛肉和 - 布丁
/ 12 /银行的打印机
然而,当客户的名称包含say&这个网址的符号或任何其他符号都是这样写的......
/ 15 / bella-%26-MR-TOM
/ 17 / bonton-毛发%26-美容沙龙
/ 37 /地岛%27S-墨西哥餐馆
突然间页面出现,因为找不到404。不管怎么说,我似乎无法解决这个问题吗?
答案 0 :(得分:1)
您无需更改.htaccess
文件,但在撰写网址时需要根据slugs
变量使用$company
。
而不是这种网址:
http://www.example.com/15/Fathers&Sons
你应该写:
http://www.example.com/15/Fathers-Sons
这就是stackoverflow和大多数网站的工作方式。
Have a look at the answer on this question,使用此代码,您可以在代码中编写网址时编写'/'.$i.'/'.slugify($company);
。
答案 1 :(得分:0)
尝试将规则更改为以下内容,这应该可以解决您的问题。
RewriteRule ^([0-9] +)/([^ /] *)?$ /offer.php?i=$1&company=$2 [L]