【发布时间】:2018-11-20 01:32:52
【问题描述】:
我目前有两条规则:
首先将“domain.com/profile/user”替换为“domain.com/profile.php?user=user”
第二条规则从所有文件中删除 .php,以便无需 .php 即可访问它们。
这是 .htaccess 文件:
RewriteEngine On
RewriteBase /
RewriteRule ^profile/([^/]+)$ profile.php?user=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]
在当前状态下,第一个规则有效,第二个无效。
但是,如果我将“Options +MultiViews”添加到顶部,则它是:
Options +MultiViews
RewriteEngine On
RewriteBase /
RewriteRule ^profile/([^/]+)$ profile.php?user=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]
那么第一个规则不起作用而第二个起作用?
我只是不知道如何让它们都工作。
请注意,我正在为 Web 服务器使用 XAMPP 虚拟主机,并更改了相关设置以允许 htaccess 与 XAMPP 一起使用。
【问题讨论】: