.htaccess导致双重定向(url的双重追加)

时间:2014-05-06 17:46:47

标签: php apache .htaccess mod-rewrite content-management-system

我有.htaccess的问题,我不是大专家。

这里的文件结构是:

CMS CMS \网站 CMS \网站\站点

使用godaddy(linux delux multihosting)我有www.example.com指向' cms \ sites \ site'。

如果我整个网站www.mainhosting.com \ cms \ sites \ site浏览网站 - 链接将正常工作。但是使用example.com链接会导致找不到页面

找不到

cms \ sites \ cite \ cms \ sites \ site \ page.php页面。

这些是我拥有的.htaccess文件:

CMS

Options -Multiviews (WHEN I TAKE THIS AWAY THE .php extension doesnt get added but no double URL i.e. cms\sites\site\page page not found)
Options -Indexes
Options +FollowSymLinks

RewriteEngine on 

RewriteCond %{REQUEST_URI} !api\\dispatch\.php$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^api/.* api/dispatch.php [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php

cms \ sites& CMS \网站\站点

Options +FollowSymLinks 
Options -Indexes
RewriteEngine On

ErrorDocument 400 /page/error
ErrorDocument 401 /page/error
ErrorDocument 403 /page/error
ErrorDocument 404 /page/error
ErrorDocument 500 /page/error

#ref: http://stackoverflow.com/questions/1698464/mod-rewrite-to-remove-php-but-still-serve-the-php-file
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php

1 个答案:

答案 0 :(得分:1)

我添加了Rewritebase /,这似乎已经成功了