我试图重写我的网址,用破折号替换所有空格。
到目前为止,我得到了以下htaccess文件:
RewriteEngine on
RewriteCond %{THE_REQUEST} (\s|%20)
RewriteRule ^([^\s%20]+)(?:\s|%20)+([^\s%20]+)((?:\s|%20)+.*)$ $1-$2$3 [N,DPI]
RewriteRule ^([^\s%20]+)(?:\s|%20)+(.*)$ /$1-$2 [R=301,DPI]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^archive/([^/]+)$ news?title=$1
RewriteRule ^cars/([^/]+)$ carbrands?brand=$1
假设我的数据库中一篇文章的标题是“This is a test”,那么使用我的htaccess文件,将生成的url是:
example.com/archive/This-Is-A-Test
但它无法在我的数据库中找到相应的文章,因为它正在寻找标题“这是一个测试”,而不是“这是一个测试”。
我怎样才能解决这个问题?
1条答案
按热度按时间u0njafvf1#
请按如下方式进行.htaccess:
在
article.php
中的stop处添加以下行: