0

我试图防止 404 错误并在使用 mydomain.com/something 时重定向

它抛出 404 错误,因为页面 something.php 不存在。我希望它提交到索引页面,以便我可以使用 php 捕获值并在我的应用程序中使用它。我还想将此与删除扩展名 (.php) 结合起来,但仍然能够访问这些页面。例如,我希望能够键入 mydomain.com/contact 而不是 mydomain.com/contact.php,但仍然能够使用 mydomain.com/something 并在页面不存在时将其提交到索引页面.

希望有人可以帮助我,因为我尝试了很多不同的东西,但似乎没有任何效果。我能够得到的最接近的是使用以下 htaccess 代码:

DirectoryIndex index.php
Options +FollowSymLinks
Options -MultiViews
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|robots\.txt|css|index|js|robots\.txt|favicon\.ico)
RewriteRule ^(.*)$ index.php?/$1 [L]

但是,似乎当文件不存在并且我只想将该值作为斜杠提交到索引页面时,它不起作用并且挂起并最终抛出 404。

4

1 回答 1

0

在您的文件中尝试以下代码DOCUMENT_ROOT/.htaccess

DirectoryIndex index.php
Options +FollowSymLinks
Options -MultiViews
RewriteEngine on
RewriteBase /

## To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ /$1.php [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?/$1 [L]
于 2013-12-15T05:17:38.817 回答