您好,我一直在Codeigniter中从事一个新项目,除一件事是url之外,其他一切工作都很好
我想要从我的URL中删除控制器名称 main 和单词 index.php 就像我的网址现在是这样
当前网址:www.domain.com/index.php/main/contact
其中main =控制器名称,联系人是功能名称
所需的网址:www.domain.com/contact
我知道我可以通过htaccess删除index.php和控制器名称,并且还实现了bt 的功能,问题是我网站上的所有链接都已排为domain.com/ index.php / main / contact ,所以我想要一些可以自动将URL重定向到所需的URL而无需使用index.php和控制器名称的工具。
注意:控制器名称始终为“ main”
我的htaccess文件在根文件夹中是这样的:
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301]
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]
</IfModule>
# remove index.php
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} /index\.php [NC]
RewriteCond %{REQUEST_URI} ^(.*/)index\.php$ [NC]
RewriteRule ^ %1 [L,R=301,NE]
# To externally redirect /dir/file.php to /dir/file
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} \s/+(.+?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=301,L]
# To internally forward /dir/file to /dir/file.php
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.+?)/?$ $1.php [L]
Header set access-control-allow-origin "*"
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
以这种方式提供的任何帮助均受到高度赞赏。 我也不希望我的表单提交有任何问题,因为它们具有操作网址等。