我正在尝试使用.htaccess文件获取新的网址,但无法从该网址获取php变量名称.
.htaccess代码在这里
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^courses/([a-zA-Z0-9\-\_]+)/$courses.php?cat-name=$1
php代码是
echo $_GET['cat-name'];
但是显示错误未定义索引cat-name.我的网址是http://www.mywebsite.com/courses/php/.那么,如何访问php变量?
解决方法:
看起来您是此处MultiViews选项的受害者.通过使用以下命令禁用它:
Options -MultiViews
>选项MultiViews由Apache的内容协商模块使用,该模块在mod_rewrite之前运行,并使Apache服务器匹配文件扩展名.因此/ file可以位于URL中,但它将提供/file.php.