你好我创建一个小cms来学习mvc,我有一个非常基本的问题。
通常我的域名后的整个网址会显示在变量中,但如果我输入“index”这个词,我的变量就完全是空的。
我的index.php:
<?php
$url = $_GET['url];
echo $url;
?>
那是我的.htaccess
RewriteEngine On
Options +FollowSymLinks
RewriteCond ${REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
所以,如果我输入以下网址:
“localhost / ~username / mycms / indexabc”result =&gt; indexabc
“localhost / ~username / mycms / index”result =&gt;
“localhost / ~username / mycms / index.php”result =&gt;
“localhost / ~username / mycms / index.php2”result =&gt; index.php2
任何人都知道我该怎么做才能使我的.htaccess还重定向索引和index.php?
我的httpd.conf文件:
<Directory "/Users/Sam/Sites/">
Options Indexes FollowSymLinks Multiviews
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
答案 0 :(得分:0)
仅在应用这些条件时才应用规则:
RewriteCond ${REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
条件意味着只有在您的URL不是现有目录,文件或文件系统链接时才应用它们。我确定文件index.php存在,所以这就是localhost/~username/mycms/index.php
不起作用的原因。
我认为index
目录中还存在名称为mycms
的现有文件或目录。这可能是localhost/~username/mycms/index
不起作用的原因。
答案 1 :(得分:0)
我制作本教程,但在我的本地主机上它不起作用。
https://www.youtube.com/watch?v=Aw28-krO7ZM&t=1191s
我的文件夹中有一个index.php,但没有文件夹。
这让我很困惑,因为我不明白我的本地主机有什么问题。