【发布时间】:2016-03-02 15:45:52
【问题描述】:
我的重写代码是:
RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.*)index\.php($|\ |\?)
RewriteRule ^ /%1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [NC,L]
RewriteRule ^products/([a-z0-9_-]+)$ products.php?slug=$1
但是,这显示 products/slugname 重写规则的内部服务器错误。
我只在我的 slug id 中使用了小写字母、数字和破折号 (-)。
【问题讨论】:
-
htaccess 中还有其他规则吗?
-
当我在根目录中创建一个 empty 文件夹 products 时,它似乎可以工作,它应该这样工作吗?
-
是的,隐藏扩展的重写规则导致了这个问题。有没有办法可以在同一个 .htaccess 文件中同时使用两者
-
您的文件结构如何? /foo/index.php 还是 /foo.php?
-
它的 /filename.php
标签: .htaccess url-rewriting slug