我使用我的 htaccess 文件来配置我网站上 url 的布局。
目前的问题是我不能再发送任何表格了。
我有两个文件将包含相同的代码(复制和重命名)。如果我调用page1.php
url 将显示为page1.php
. 一切正常,而我将尝试登录或导致一些错误。现在,当我将调用index.php
(具有相同的代码!) url 中的htaccess
隐藏index.php
时,它应该这样做!但是当我测试登录脚本时,发布表单时什么都不会发生。它只是刷新网站。所以我不知道为什么会这样?
这种行为肯定是由htaccess
通过重写规则引起的。我删除htaccess
并再次尝试。没有它它可以工作,但仍然有这个丑陋的网址。
好的,以显示以下内容htaccess
:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^(.*)\.html$
RewriteRule ^.*\.html$ %1.php [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^/]+)/$ $1.php
AddType application/x-httpd-php .htm .html
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^index\.(htm|html|php) http://www.domain.com/ [R=301,L]
## rewrite the index file in subdirectories
RewriteRule ^(.*)/index\.(htm|html|php) http://www.domain.com/$1/ [R=301,L]
表格将与以下内容一起发送:
form action = "<?php echo $_SERVER['PHP_SELF']?>" method= "post"...
因此,如果有人可以帮助我,我将不胜感激。
更新:
要提供更多信息,我想实现什么:
首先结构如下:由于不同的语言,根结构如下:
www.domain.com/languagefolder/...
现在,当用户呼叫时,www.domain.com
他将被重定向到languagesubfolder
. 当被重定向到这个子文件夹的索引页面时,第一件事应该是www.domain.com/languagesfolder/index.php
不可见的,所以它只是www.domain.com/languagesfolder/
. 这将自动完成。没关系。但是在调用www.domain.com/languagesfolder/index.php
它时应该重写,www.domain.com/languagesfolder/
这样用户就看不到.../index.php
. 这似乎更专业。
接下来的事情将是在更多页面上提供链接,以便用户只需要输入.../page
而不是.../page.php
不显示文件扩展名。最后但并非最不重要的最后一件事是,当用户试图找出它是什么类型的文件时,我想通过重写扩展名来防止 SQL 注入,以便用户可以键入.../page.php
以及.../page.html
or .../page.htm
。