Apache .htaccess重写添加服务器目录

Apache .htaccess重写添加服务器目录,apache,.htaccess,mod-rewrite,url-rewriting,Apache,.htaccess,Mod Rewrite,Url Rewriting,在我的网站上,如果我输入mydomain.org/services/service1,地址将重写为“mydomain.org/services/home/username/public_html/services/service1/”。但是,如果我输入mydomain.org/services/service1/它将转到正确的页面 我的.htaccess文件如下所示: RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !

在我的网站上,如果我输入mydomain.org/services/service1,地址将重写为“mydomain.org/services/home/username/public_html/services/service1/”。但是,如果我输入mydomain.org/services/service1/它将转到正确的页面

我的.htaccess文件如下所示:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*[^/])/?$ $1.php [L]
ErrorDocument 400 /404.php
ErrorDocument 401 /404.php
ErrorDocument 403 /404.php
ErrorDocument 404 /404.php
ErrorDocument 500 /404.php
\HOME
-\Username
--\public_html
---\css
---\code
---\services
---->service1.php
---->service2.php
---\img
---header.php
---index.php
---footer.php
我的目录如下:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*[^/])/?$ $1.php [L]
ErrorDocument 400 /404.php
ErrorDocument 401 /404.php
ErrorDocument 403 /404.php
ErrorDocument 404 /404.php
ErrorDocument 500 /404.php
\HOME
-\Username
--\public_html
---\css
---\code
---\services
---->service1.php
---->service2.php
---\img
---header.php
---index.php
---footer.php
奇怪的是,如果我键入mydomain.org/services/service2时没有尾随斜杠,页面将加载并附加尾随斜杠

#turn on rewrite engine
RewriteEngine On
RewriteBase /

#force trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]

#remove .php file extension
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*[^/])/?$ $1.php [L]
如果相关的话,我的网站是由Godaddy的副总裁托管的


我的问题是如何防止我的网站将我的本地目录路径附加到url?为什么会这样呢?

我发现问题在于我的浏览器缓存了旧版本的.htaccess。清除浏览器缓存的数据解决了这个问题

我的.htaccess文件现在看起来是这样的,以防有人无意中发现它,想知道如何删除文件扩展名并强制使用尾部斜杠

#turn on rewrite engine
RewriteEngine On
RewriteBase /

#force trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]

#remove .php file extension
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*[^/])/?$ $1.php [L]