我有.htaccess配置:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php?|css|js|images|robots\.txt)
RewriteRule ^(.*)$ index.php?$1 [L]
问题是某些情况下htaccess崩溃并给出404错误(找不到页面) 这里有一些提示:
我会写一些htaccess崩溃而不是崩溃的情况(每个列表的第一个链接之间的差异只是一个普通的阿拉伯字符) 它不适用于这些:
1- http://localhost/mywebsite/article/13057/%D9%85%D9%86(参数为“من”)
并正确地为这些工作:
1- http://localhost/mywebsite/article/13057/%D9%81%D9%86(参数为“فن”)
答案 0 :(得分:0)
问题在于您的重写代码,就我所见,它不允许非拉丁字母。 尝试像
这样的东西RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([0-9]+)/([^/]+)/?$ index.php?art_id=$1 [NC,L]
我在移动电话上回答了对显示器的抱歉