我的客户端有一个godaddy Virtual Dedicated Server(是的,我知道它很糟糕)....它有WHM VPS优化运行。
我正在尝试从网址中删除index.php,但我的服务器仍然显示404错误,我查看了Universe中的每个论坛,并且无法获得有效的htaccess文件。这是表达引擎告诉你使用的内容......
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^(/index\.php|/img|/js|/css|/robots\.txt|/favicon\.ico)
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>
我非常了解Apache ..请帮助亲切的先生......
答案 0 :(得分:0)
测试htaccess是否正常工作:
# Redirect domain
RewriteCond %{HTTP_HOST} ^www.yourdomain.com$
RewriteRule ^/?$ "http\:\/\/google\.com" [R=301,L]
或者
# Remove the www from the URL
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
确保在输入/index.php时实际显示内容:P
一旦你知道你的htaccess正在运行,试试&#34; $ 1&#34;而不是&#34;%{REQUEST_URI}&#34;:
RewriteEngine on
RewriteCond $1 !^(img|admin\.php|themes|robots\.txt|index\.php|sitemap\.xml|/favicon\.ico) [NC]
RewriteRule ^(.*)$ /index.php?/$1 [L]
还可以尝试&#34; /index.php?/ $ 1&#34;而不是&#34; /index.php/$1"
确保您已设置EE(管理员 - >常规配置),以及#34;您网站的索引页面的名称&#34;是空白的。
请记住,一旦你在没有出现index.php的情况下让EE工作,它可以两种方式使用(有和没有),这对SEO有害,所以删除它就像这样(在上面的重写之前放置:)
# Redirect index.php Requests (prevent site showing index.php in browser address bar)
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,L]