我正在做我的第一个表达引擎网站..我想要删除index.php ..我读了很多并尝试了基本表达引擎重写“删除”,但因为我根据语言重定向我的网站。我很确定有更好的方法! 我在index.php之前有一个lang前缀,如:domain.com/en/index.php/segment1 / .... 现在我使用:
RewriteCond $2 !\.(index|css|js|gif|jpe?g|png|robot.txt|sitemap.xml) [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)?/([^/]*)?/?([^/]*)?/?([^/]*)?/?([^/]*)?$ /$1/index.php?/$2/$3/$4/$5 [L]
有更好或更好的方式!?
它有效,但是如果我有超过4个片段,我将不得不增加6美元等等......确定有更好的方法......
此致..
本
编辑:
我仍然遇到ChannelImages(DevDemon)和/或ChannelFiles的1个问题。我需要使用domain.com/?ACT=XX测试上传位置xx是一个数字..
我尝试添加 RewriteCond%{REQUEST_URI}!^(ACT =。*)$ [NC]现在页面重定向到主页.. / fr或/ en ..
答案 0 :(得分:0)
假设传入的URL结构总是这样:
http://domain.com/LangCode/anything
其中LangCode
和anything
是变量,您可以在根目录中的一个.htaccess文件中尝试:
Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !\.(index|css|js|gif|jpe?g|png) [NC]
RewriteCond %{REQUEST_URI} !(robot.txt|sitemap.xml) [NC]
RewriteCond %{REQUEST_URI} !index\.php [NC]
RewriteRule ^([^/]+)/(.*)/?$ /$1/index.php?/$2 [NC,L]
静默地映射到:
http://domain.com/LangCode/index.php?/anything
对于永久和可见的重定向,将[NC,L]替换为[R = 301,NC,L]