所以有两天我无法理解为什么这不会起作用......:
Options -Indexes
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^advice/([a-zA-Z]+)/([0-9]+)/$ advice.php?advice=$1&id=$2
显然.htaccess是允许的,因为我无法打开目录打开文件夹,但为什么链接不起作用?
答案 0 :(得分:0)
尝试关闭multiviews
,以便服务器不会尝试将其作为文件进行搜索。另外添加条件,以便它知道它不是在寻找它正在尝试提供的真实文件或目录,并使尾随斜杠可选。
Options -Indexes +FollowSymLinks -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^advice/([a-zA-Z]+)/([0-9]+)/?$ /advice.php?advice=$1&id=$2 [L]
答案 1 :(得分:0)
您的RewriteRule
是否重定向到现有文件?
试试这个,它对我有用
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . /test2/test.php
http://example.com/test2/.htaccess
显示.htaccess
文件的位置http://example.com/test2/test.php
是直接链接http://example.com/test2/testX4XX
使用重写