gpt4 book ai didi

php - 将 www 重写为非 www 和 index.php CI

转载 作者:可可西里 更新时间:2023-10-31 22:12:10 25 4
gpt4 key购买 nike

我正在使用 CodeIgnter,结果我所有的链接都像 base.com/index.php/home/indexwww.base.com/index.php/home/索引。如果可能的话,我只想将它们显示为 base.com/home/index。我已经尝试查看互联网,从他们两个那里得到了 htacces 中的重写:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$0 [PT,L]
RewriteCond %{HTTP_HOST} ^domain\.com\$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain\.com\$
RewriteRule ^/?$ "http\:\/\/domain\.com\/" [R=301,L]

RewriteEngine on
RewriteCond %{HTTP_HOST} !^domain\.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]

将它们分开放置,它们可以工作。但是它们并没有做我需要它们做的事情。有人知道解决方案吗?谢谢。

最佳答案

对于 CI,您需要类似于第一组规则的东西,但没有重定向。但是重定向需要在路由发生之前发生,所以尝试:

RewriteEngine On

# redirect www to non-www
RewriteCond %{HTTP_HOST} ^www\.base\.com$ [NC]
RewriteRule ^(.*)$ http://base.com/$1 [L,R=301]

# redirect direct requests to /index.php to remove it
RewriteCond %{THE_REQUEST} \ /index\.php/?([^\?\ ]*)
RewriteRule ^ http://base.com/%1 [L,R=301]

# internally route to /index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [PT,L]

关于php - 将 www 重写为非 www 和 index.php CI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19126065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com