在我的htaccess中,我设置了重写网址,所以查询字符串确实没有显示出来(非常好的网址),但似乎该网站位于子域名中,将空白页面副本显示在正确的页面上。子域是否会影响其工作方式,还是另一个问题?
RewriteEngine On
RewriteRule ^documents/([^/]+)/?$ documents.php?p=$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [NC,L]
将folder / documents.php?p = value转换为www.mywebsite.com/folder/documents/VARIABLE(删除.php?p = value)
子域名等价物: subdomain.mywebsite.com/folder/documents/VARIABLE
答案 0 :(得分:0)
尝试使用以下代码关闭MultiViews
选项:
Options -MultiViews
RewriteEngine On
RewriteRule ^documents/([^/]+)/?$ documents.php?p=$1 [L,QSA,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L]
MultiViews
使用选项Apache's content negotiation module
在 mod_rewrite
之前运行,并使Apache服务器匹配文件扩展名。因此/file
可以在网址中,但它会投放/file.php
。